Java Reference
In-Depth Information
tom. To do this, instead of adding the button to rightBox , create an invisible
component and add it:
rightBox.add(Box.createGlue());
Class Box has a number of static methods for generating components that create
space in one fashion or another. Study the class specification to find out more
about them. Here are some of them:
Box.createGlue(); Box.createRigidArea(…);
Box.VerticalGlue(); Box.createHorizontalGlue();
Box.createVerticalStrut(…); Box.createHorizontalStrut(…);
Be careful with these procedures, for their action when the JFrame is resized
is not always clear. When using these features, you might fix the JFrame so it
cannot be resized by the user:
setResizable( false );
17.3.3
Using different layout managers
It is possible to change the layout manager of a JFrame (but not to a BoxLayout
manager). For example, to change it to a flow layout, use:
Obtain a class
ChangeLayout
Demo from a
footnote on les-
son page 17-3.
getContentPane.setLayout( new FlowLayout());
BoxLayout managers are reserved only for Box objects. If you want to use a
BoxLayout manager for a JFrame , then create a Box and place it as the sole com-
ponent of the JFrame , as outlined here:
JFrame jf= new JFrame("title");
Box b= new Box(BoxLayout.X_AXIS);
Add components to b;
jf.add(b,BorderLayout.CENTER);
17.4
Listening to a GUI
A GUI is useful only when it reacts to events —clicking a button, typing in a text
field, etc. In order to react, the program must have access to the events. In this
section, we show how to listen to events. We concentrate on listening to buttons
and to mouse events, for those are the most widely used events.
Lesson
page 17-4
Figure 17.13:
A JFrame with two buttons, in two different states
Search WWH ::




Custom Search