MoreChoicespublic class MoreChoices extends JFrame Demo to show a way of having "More Choices/Less Choices"
in a pop-up window. The secret is to call pack() again
each time you add/subtract the bottom panel. |
Fields Summary |
---|
Container | cp | boolean | unsavedChanges | JButton | moreOrLessButton | JPanel | moreOrLessPanel | ActionListener | more | ActionListener | less |
Constructors Summary |
---|
public MoreChoices()Construct the object including its GUI
super("More Choices");
// cp = getContentPane();
cp = this;
cp.setLayout(new BorderLayout());
ButtonsPanel bp = new ButtonsPanel();
cp.add(BorderLayout.NORTH, bp);
// Construct the more/less switcher
less = new ActionListener() {
public void actionPerformed(ActionEvent e) {
cp.remove(moreOrLessPanel);
pack();
moreOrLessButton.setText("More Choices");
moreOrLessButton.removeActionListener(less);
moreOrLessButton.addActionListener(more);
}
};
more = new ActionListener() {
public void actionPerformed(ActionEvent e) {
cp.add(BorderLayout.SOUTH, moreOrLessPanel);
pack();
moreOrLessButton.setText("Fewer Choices");
moreOrLessButton.removeActionListener(more);
moreOrLessButton.addActionListener(less);
}
};
bp.add(moreOrLessButton = new JButton("More Choices"));
// Initial state is to add more choices
moreOrLessButton.addActionListener(more);
moreOrLessPanel = new ChoicesPanel();
// Finally a frame closer
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
setVisible(false);
dispose();
System.exit(0);
}
});
pack();
|
Methods Summary |
---|
public static void | main(java.lang.String[] av)"main program" method - construct and show
// create a MoreChoices object, tell it to show up
JFrame jf = new MoreChoices();
jf.setLocation(100, 100); // get away from screen corner,
// since on some OSes a main window at 0,0 may be
// partly obscured (e.g. notebook with PowerPanel
jf.setVisible(true);
|
|