JM Appendix C
JM Appendix C
— with GridWorld
Java
Methods
Object-Oriented Programming
and
Data Structures
Maria Litvin
Phillips Academy, Andover, Massachusetts
Gary Litvin
Skylight Software, Inc.
Skylight Publishing
Andover, Massachusetts
Skylight Publishing
9 Bartlet Street, Suite 70
Andover, MA 01810
web: http://www.skylit.com
e-mail: [email protected]
[email protected]
ISBN 978-0-9824775-7-1
*
AP and Advanced Placement are registered trademarks of The College Board, which was
not involved in the production of and does not endorse this book.
The names of commercially available software and products mentioned in this book are
used for identification purposes only and may be trademarks or registered trademarks
owned by corporations and other commercial entities. Skylight Publishing and the authors
have no affiliation with and disclaim any sponsorship or endorsement by any of these
product manufacturers or trademark owners.
Oracle, Java, and Java logos are trademarks or registered trademarks of Oracle Corporation
and/or its affiliates in the U.S. and other countries.
SCRABBLE® is the registered trademark of HASBRO in the United States and Canada and
of J.W. Spear and Sons, PLC, a subsidiary of Mattel, Inc., outside the United States and
Canada.
Appendix C: GUI Examples Index
For the complete list of constructors and methods refer to the Swing
API documentation.
JButton
JCheckBox
JComboBox
JFileChooser
JFrame
JLabel
JMenuBar, JMenu, JMenuItem, etc.
JPanel
JPasswordField
JRadioButton
JSlider
JTextArea, JScrollPane
JTextField
JToggleButton
C-1
C-2 APPENDIX C ~ GUI EXAMPLES INDEX
JButton
Constructors:
JButton(String text);
JButton(Icon picture);
JButton(String text, Icon picture);
Methods:
Events:
Examples:
JM\Ch06\Exercises\Bmi.java
JM\Ch06\Poll\PollControlPanel.java
JM\Ch09\SnackBar\VendingMachine.java
JM\Ch10\Lipogrammer\Lipogrammer.java
JM\Ch12\Fortunes\FortuneTeller.java
JM\Ch14\Benchmarks\Benchmarks.java
JM\Ch17\Ramblecs\ControlPanel.java
JM\Ch22\Browser\BrowserControlPanel.java
JM\Ch25\Cryptogram\Cryptogram.java
JM\Ch25\Giggle\Giggle.java
APPENDIX C ~ GUI EXAMPLES INDEX C-3
JCheckBox
Constructors:
Methods:
Events:
Examples:
JM\Ch16\Exercises\Boxes.java
JM\Ch17\Ramblecs\RamblecsMenu.java
C-4 APPENDIX C ~ GUI EXAMPLES INDEX
JComboBox
Constructors:
JComboBox(Object items[]);
// For example:
// String[] items = {"One", "Two", "Three"};
// JComboBox cb = new JComboBox(items);
)
Methods:
Events:
Examples:
JM\Ch14\Benchmarks\Benchmarks.java
JM\Ch16\Exercises\Boxes.java
APPENDIX C ~ GUI EXAMPLES INDEX C-5
JFileChooser
Constructors:
JFileChooser(pathname);
Methods:
void setFileSelectionMode(JFileChooser.FILES_ONLY);
void showOpenDialog(this);
File getSelectedFile();
Examples:
JM\Ch10\Lipogrammer\LipogrammerMenu.java
JM\Ch25\Cryptogram\CryptogramMenu.java
JM\Ch25\Giggle\Giggle.java
C-6 APPENDIX C ~ GUI EXAMPLES INDEX
JFrame
Constructors:
JFrame();
JFrame(String title);
Methods:
Examples:
JM\Ch02\HelloGui\HelloGraphics.java
JM\Ch02\HelloGui\HelloGui.java
JM\Ch05\Syntax\MovingDisk.java
JM\Ch06\Poll\Poll.java
JM\Ch07\Craps\Craps.java
JM\Ch07\Craps\CrapsStats.java
JM\Ch07\Craps\CrapsTest1.java
JM\Ch09\SnackBar\SnackBar.java
JM\Ch10\Lipogrammer\Lipogrammer.java
JM\Ch12\Chomp\Chomp.java
JM\Ch14\Benchmarks\Benchmarks.java
JM\Ch16\Puzzle\Puzzle.java
JM\Ch17\Ramblecs\Ramblecs.java
JM\Ch20\SafeTrade\SafeTrade.java
JM\Ch21\Teletext\Teletext.java
JM\Ch22\Actors\ThreeKittens.java
JM\Ch22\Browser\LineCruiser.java
JM\Ch24\Messenger\Messenger.java
JM\Ch24\MorseCode\Telegraph.java
JM\Ch25\Cryptogram\Cryptogram.java
JM\Ch25\Giggle\Giggle.java
APPENDIX C ~ GUI EXAMPLES INDEX C-7
JLabel
Constructors:
JLabel(String text);
JLabel(Icon icon);
JLabel(String text, Icon icon, JLabel.LEFT);
// or CENTER, RIGHT, LEADING, TRAILING.
Methods:
Events: None
Examples:
JM\Ch07\Craps\CrapsStats.java
JM\Ch07\Craps\CrapsTest1.java
JM\Ch09\SnackBar\SnackBar.java
JM\Ch14\Benchmarks\Benchmarks.java
JM\Ch17\Ramblecs\ControlPanel.java
JM\Ch25\Cryptogram\Cryptogram.java
JM\Ch25\Giggle\Giggle.java
C-8 APPENDIX C ~ GUI EXAMPLES INDEX
JMenuBar();
JMenu(String text);
JMenuItem(String text);
JMenuItem(Icon icon);
JMenuItem(String text, Icon icon);
JMenuItem(String text, int kbMnemonic);
JCheckBoxMenuItem(String text);
JCheckBoxMenuItem(Icon icon);
JCheckBoxMenuItem(String text, Icon icon);
JCheckBoxMenuItem(String text, boolean checked);
JCheckBoxMenuItem(String text, Icon icon, boolean checked);
JRadioButtonMenuItem(String text);
JRadioButtonMenuItem(Icon icon);
JRadioButtonMenuItem(String text, Icon icon);
JRadioButtonMenuItem(String text, boolean selected);
JRadioButtonMenuItem(Icon icon, boolean selected);
JRadioButtonMenuItem(String text, Icon icon, boolean selected);
Methods:
void add(JMenu);
void addSeparator();
void addActionListener(ActionListener object)
void setText(String text);
void setActionCommand(String cmd);
void setIcon(Icon icon);
void setEnabled(true/false);
Examples:
JM\Ch10\Lipogrammer\Lipogrammer.java
JM\Ch10\Lipogrammer\LipogrammerMenu.java
JM\Ch17\Ramblecs\Ramblecs.java
JM\Ch17\Ramblecs\RamblecsMenu.java
JM\Ch25\Cryptogram\Cryptogram.java
JM\Ch25\Cryptogram\CryptogramMenu.java
JM\Ch25\Giggle\Giggle.java
APPENDIX C ~ GUI EXAMPLES INDEX C-9
JPanel
Constructors:
JPanel();
Methods:
Events:
Examples:
JM\Ch02\HelloGui\HelloGraphics.java
JM\Ch05\Syntax\MovingDisk.java
JM\Ch06\Poll\PollControlPanel.java
JM\Ch06\Poll\PollDisplayPanel.java
JM\Ch07\Craps\Craps.java
JM\Ch09\SnackBar\SnackBar.java
JM\Ch09\SnackBar\VendingMachine.java
JM\Ch16\Puzzle\Puzzle.java
JM\Ch16\Puzzle\PuzzleCell.java
JM\Ch17\Ramblecs\ControlPanel.java
JM\Ch21\Teletext\TeletextDisplay.java
JM\Ch21\Teletext\TeletextInput.java
JM\Ch22\Browser\BrowserControlPanel.java
JM\Ch22\Browser\BrowserView.java
JM\Ch25\Cryptogram\Cryptogram.java
JM\Ch25\Giggle\Giggle.java
C-10 APPENDIX C ~ GUI EXAMPLES INDEX
JPasswordField
extends JTextField
Constructors:
JPasswordField(String text);
JPasswordField(int cols);
JPasswordField(String text, int cols);
Methods:
Events:
Examples:
JM\Ch09\SnackBar\SnackBar.java
APPENDIX C ~ GUI EXAMPLES INDEX C-11
JRadioButton
Constructors:
Methods:
...
ButtonGroup gr = new ButtonGroup();
gr.add(radioButton1);
gr.add(radioButton2);
...
Events:
Examples:
JM\Ch07\Exercises\Rps.java
C-12 APPENDIX C ~ GUI EXAMPLES INDEX
JSlider
Imports ( Not in java.awt.event.*)
import javax.swing.event.ChangeListener;
import javax.swing.event.ChangeEvent;
Constructors:
Methods:
Events:
Examples:
JM\Ch17\Ramblecs\ControlPanel.java
APPENDIX C ~ GUI EXAMPLES INDEX C-13
JTextArea
Constructors:
JTextArea(String text);
JTextArea(int rows, int cols);
JTextArea(String text, int rows, int cols);
Methods:
void setEditable(true/false);
int getCaretPosition();
void append(String text);
void insert(String text, int pos);
void setText(String text);
void setBackground(Color c);
void setForeground(Color c);
void setFont(Font font);
void requestFocus();
String getText();
void selectAll();
void setCaretPosition(int pos);
void moveCaretPosition(int pos);
Examples:
JM\Ch07\Craps\CrapsTest1.java
JM\Ch10\Lipogrammer\Lipogrammer.java
JM\Ch22\Actors\ThreeKittens.java
JM\Ch24\MorseCode\Telegraph.java
JM\Ch25\Cryptogram\Cryptogram.java
JM\Ch25\Giggle\Giggle.java
JM\Ch26\Exercises\Giggle.java
JM\Ch07\Craps\CrapsTest1.java
JM\Ch10\Lipogrammer\Lipogrammer.java
JM\Ch22\Actors\ThreeKittens.java
JM\Ch25\Cryptogram\Cryptogram.java
JM\Ch25\Giggle\Giggle.java
JM\Ch26\Exercises\Giggle.java
C-14 APPENDIX C ~ GUI EXAMPLES INDEX
JTextField
Constructors:
JTextField(String text);
JTextField(int cols);
JTextField(String text, int cols);
Methods:
Events:
Examples:
JM\Ch02\HelloGui\HelloGui.java
JM\Ch07\Craps\CrapsStats.java
JM\Ch07\Craps\CrapsTest1.java
JM\Ch09\SnackBar\VendingMachine.java
JM\Ch10\Exercises\StringTest.java
JM\Ch12\Chomp\Chomp.java
JM\Ch12\Fortunes\FortuneTeller.java
JM\Ch14\Benchmarks\Benchmarks.java
JM\Ch17\Ramblecs\ControlPanel.java
JM\Ch21\Teletext\TeletextInput.java
JM\Ch24\MorseCode\Telegraph.java
JM\Ch25\Cryptogram\Cryptogram.java
JM\Ch25\Giggle\Giggle.java
APPENDIX C ~ GUI EXAMPLES INDEX C-15
JToggleButton
Constructors:
Methods:
Events:
For the complete list of constructors and methods refer to the Swing
API documentation.
JButton
JCheckBox
JComboBox
JFileChooser
JFrame
JLabel
JMenuBar, JMenu, JMenuItem, etc.
JPanel
JPasswordField
JRadioButton
JSlider
JTextArea, JScrollPane
JTextField
JToggleButton
C-1
C-2 APPENDIX C ~ GUI EXAMPLES INDEX
JButton
Constructors:
JButton(String text);
JButton(Icon picture);
JButton(String text, Icon picture);
Methods:
Events:
Examples:
JM\Ch06\Exercises\Bmi.java
JM\Ch06\Poll\PollControlPanel.java
JM\Ch09\SnackBar\VendingMachine.java
JM\Ch10\Lipogrammer\Lipogrammer.java
JM\Ch12\Fortunes\FortuneTeller.java
JM\Ch14\Benchmarks\Benchmarks.java
JM\Ch17\Ramblecs\ControlPanel.java
JM\Ch22\Browser\BrowserControlPanel.java
JM\Ch25\Cryptogram\Cryptogram.java
JM\Ch25\Giggle\Giggle.java
APPENDIX C ~ GUI EXAMPLES INDEX C-3
JCheckBox
Constructors:
Methods:
Events:
Examples:
JM\Ch16\Exercises\Boxes.java
JM\Ch17\Ramblecs\RamblecsMenu.java
C-4 APPENDIX C ~ GUI EXAMPLES INDEX
JComboBox
Constructors:
JComboBox(Object items[]);
// For example:
// String[] items = {"One", "Two", "Three"};
// JComboBox cb = new JComboBox(items);
)
Methods:
Events:
Examples:
JM\Ch14\Benchmarks\Benchmarks.java
JM\Ch16\Exercises\Boxes.java
APPENDIX C ~ GUI EXAMPLES INDEX C-5
JFileChooser
Constructors:
JFileChooser(pathname);
Methods:
void setFileSelectionMode(JFileChooser.FILES_ONLY);
void showOpenDialog(this);
File getSelectedFile();
Examples:
JM\Ch10\Lipogrammer\LipogrammerMenu.java
JM\Ch25\Cryptogram\CryptogramMenu.java
JM\Ch25\Giggle\Giggle.java
C-6 APPENDIX C ~ GUI EXAMPLES INDEX
JFrame
Constructors:
JFrame();
JFrame(String title);
Methods:
Examples:
JM\Ch02\HelloGui\HelloGraphics.java
JM\Ch02\HelloGui\HelloGui.java
JM\Ch05\Syntax\MovingDisk.java
JM\Ch06\Poll\Poll.java
JM\Ch07\Craps\Craps.java
JM\Ch07\Craps\CrapsStats.java
JM\Ch07\Craps\CrapsTest1.java
JM\Ch09\SnackBar\SnackBar.java
JM\Ch10\Lipogrammer\Lipogrammer.java
JM\Ch12\Chomp\Chomp.java
JM\Ch14\Benchmarks\Benchmarks.java
JM\Ch16\Puzzle\Puzzle.java
JM\Ch17\Ramblecs\Ramblecs.java
JM\Ch20\SafeTrade\SafeTrade.java
JM\Ch21\Teletext\Teletext.java
JM\Ch22\Actors\ThreeKittens.java
JM\Ch22\Browser\LineCruiser.java
JM\Ch24\Messenger\Messenger.java
JM\Ch24\MorseCode\Telegraph.java
JM\Ch25\Cryptogram\Cryptogram.java
JM\Ch25\Giggle\Giggle.java
APPENDIX C ~ GUI EXAMPLES INDEX C-7
JLabel
Constructors:
JLabel(String text);
JLabel(Icon icon);
JLabel(String text, Icon icon, JLabel.LEFT);
// or CENTER, RIGHT, LEADING, TRAILING.
Methods:
Events: None
Examples:
JM\Ch07\Craps\CrapsStats.java
JM\Ch07\Craps\CrapsTest1.java
JM\Ch09\SnackBar\SnackBar.java
JM\Ch14\Benchmarks\Benchmarks.java
JM\Ch17\Ramblecs\ControlPanel.java
JM\Ch25\Cryptogram\Cryptogram.java
JM\Ch25\Giggle\Giggle.java
C-8 APPENDIX C ~ GUI EXAMPLES INDEX
JMenuBar();
JMenu(String text);
JMenuItem(String text);
JMenuItem(Icon icon);
JMenuItem(String text, Icon icon);
JMenuItem(String text, int kbMnemonic);
JCheckBoxMenuItem(String text);
JCheckBoxMenuItem(Icon icon);
JCheckBoxMenuItem(String text, Icon icon);
JCheckBoxMenuItem(String text, boolean checked);
JCheckBoxMenuItem(String text, Icon icon, boolean checked);
JRadioButtonMenuItem(String text);
JRadioButtonMenuItem(Icon icon);
JRadioButtonMenuItem(String text, Icon icon);
JRadioButtonMenuItem(String text, boolean selected);
JRadioButtonMenuItem(Icon icon, boolean selected);
JRadioButtonMenuItem(String text, Icon icon, boolean selected);
Methods:
void add(JMenu);
void addSeparator();
void addActionListener(ActionListener object)
void setText(String text);
void setActionCommand(String cmd);
void setIcon(Icon icon);
void setEnabled(true/false);
Examples:
JM\Ch10\Lipogrammer\Lipogrammer.java
JM\Ch10\Lipogrammer\LipogrammerMenu.java
JM\Ch17\Ramblecs\Ramblecs.java
JM\Ch17\Ramblecs\RamblecsMenu.java
JM\Ch25\Cryptogram\Cryptogram.java
JM\Ch25\Cryptogram\CryptogramMenu.java
JM\Ch25\Giggle\Giggle.java
APPENDIX C ~ GUI EXAMPLES INDEX C-9
JPanel
Constructors:
JPanel();
Methods:
Events:
Examples:
JM\Ch02\HelloGui\HelloGraphics.java
JM\Ch05\Syntax\MovingDisk.java
JM\Ch06\Poll\PollControlPanel.java
JM\Ch06\Poll\PollDisplayPanel.java
JM\Ch07\Craps\Craps.java
JM\Ch09\SnackBar\SnackBar.java
JM\Ch09\SnackBar\VendingMachine.java
JM\Ch16\Puzzle\Puzzle.java
JM\Ch16\Puzzle\PuzzleCell.java
JM\Ch17\Ramblecs\ControlPanel.java
JM\Ch21\Teletext\TeletextDisplay.java
JM\Ch21\Teletext\TeletextInput.java
JM\Ch22\Browser\BrowserControlPanel.java
JM\Ch22\Browser\BrowserView.java
JM\Ch25\Cryptogram\Cryptogram.java
JM\Ch25\Giggle\Giggle.java
C-10 APPENDIX C ~ GUI EXAMPLES INDEX
JPasswordField
extends JTextField
Constructors:
JPasswordField(String text);
JPasswordField(int cols);
JPasswordField(String text, int cols);
Methods:
Events:
Examples:
JM\Ch09\SnackBar\SnackBar.java
APPENDIX C ~ GUI EXAMPLES INDEX C-11
JRadioButton
Constructors:
Methods:
...
ButtonGroup gr = new ButtonGroup();
gr.add(radioButton1);
gr.add(radioButton2);
...
Events:
Examples:
JM\Ch07\Exercises\Rps.java
C-12 APPENDIX C ~ GUI EXAMPLES INDEX
JSlider
Imports ( Not in java.awt.event.*)
import javax.swing.event.ChangeListener;
import javax.swing.event.ChangeEvent;
Constructors:
Methods:
Events:
Examples:
JM\Ch17\Ramblecs\ControlPanel.java
APPENDIX C ~ GUI EXAMPLES INDEX C-13
JTextArea
Constructors:
JTextArea(String text);
JTextArea(int rows, int cols);
JTextArea(String text, int rows, int cols);
Methods:
void setEditable(true/false);
int getCaretPosition();
void append(String text);
void insert(String text, int pos);
void setText(String text);
void setBackground(Color c);
void setForeground(Color c);
void setFont(Font font);
void requestFocus();
String getText();
void selectAll();
void setCaretPosition(int pos);
void moveCaretPosition(int pos);
Examples:
JM\Ch07\Craps\CrapsTest1.java
JM\Ch10\Lipogrammer\Lipogrammer.java
JM\Ch22\Actors\ThreeKittens.java
JM\Ch24\MorseCode\Telegraph.java
JM\Ch25\Cryptogram\Cryptogram.java
JM\Ch25\Giggle\Giggle.java
JM\Ch26\Exercises\Giggle.java
JM\Ch07\Craps\CrapsTest1.java
JM\Ch10\Lipogrammer\Lipogrammer.java
JM\Ch22\Actors\ThreeKittens.java
JM\Ch25\Cryptogram\Cryptogram.java
JM\Ch25\Giggle\Giggle.java
JM\Ch26\Exercises\Giggle.java
C-14 APPENDIX C ~ GUI EXAMPLES INDEX
JTextField
Constructors:
JTextField(String text);
JTextField(int cols);
JTextField(String text, int cols);
Methods:
Events:
Examples:
JM\Ch02\HelloGui\HelloGui.java
JM\Ch07\Craps\CrapsStats.java
JM\Ch07\Craps\CrapsTest1.java
JM\Ch09\SnackBar\VendingMachine.java
JM\Ch10\Exercises\StringTest.java
JM\Ch12\Chomp\Chomp.java
JM\Ch12\Fortunes\FortuneTeller.java
JM\Ch14\Benchmarks\Benchmarks.java
JM\Ch17\Ramblecs\ControlPanel.java
JM\Ch21\Teletext\TeletextInput.java
JM\Ch24\MorseCode\Telegraph.java
JM\Ch25\Cryptogram\Cryptogram.java
JM\Ch25\Giggle\Giggle.java
APPENDIX C ~ GUI EXAMPLES INDEX C-15
JToggleButton
Constructors:
Methods:
Events: