Java: Summary - GUI Containers
Top-level Container: javax.swing.JFrame | ||
| JFrame - window, typically subclassed | ||
| w = | new JFrame(); | Constructor |
| w = | new JFrame(t); | Constructor. Sets titlebar to t. |
| w.setTitle(t); | Sets titlebar text to t | |
| w.setDefaultCloseOperation(opt); | JFrame.EXIT_ON_CLOSE terminates program when close box clicked. | |
| w.setVisible(true/false); | Make visible (and start GUI thread) or hide. | |
| w.pack(); | Calculates layout on all inner containers and sets size of JFrame. | |
| w.setContentPane(cont); | Sets the content pane - common to pass a JPanel here. | |
| cont = | w.getContentPane(); | Returns the window's content pane. |
| w.setJMenuBar(mb); | Adds a JMenuBar. | |
| w.setResizable(false); | Prevent user from resizing window. | |
| w.setLocation(x, y); | Positions window's top left corner at screen coordinates (x, y). | |
| w. |
Sets window size, but use layouts and pack() instead. | |
Deprecated. Use w.setVisible(true). | ||
Deprecated. Use w.setVisible(false). | ||
Top-level Containers: Dialogs: JOptionPane, JFileChooser, JColorChooser, JDialog | ||
| JOptionPane - Commonly used to create dialogs. | ||
Low-level Container supporting layouts - JPanel | ||
| JPanel - Set layout and add components to JPanel. | ||
| p = | new JPanel(); | Creates new JPanel |
| p.setLayout(layout); | Sets the panel's layout. | |
| p.add(widget); | Add widget to next position - FlowLayout, GridLayout, BoxLayout. | |
| p.add(widget, constraint); | Add widget at position constraint = BorderLayout, GridbagLayout). | |
Low-level Containers - special purpose - JSrollPane, JTabbedPane | ||
| JScrollPane - Holds textarea, list, (or large images in label) and adds scroll bars as necessary. | ||
| scr = | new JScrollPane(textarea); | Surrounds textarea with scrollbars as needed. |
| JTabbedPane - Display tabs to allow user to select one of many panels. | ||
| tp = | new JTabbledPane(); | Constructor. Creates new tabbed pane. |
| tp = | new JTabbledPane(place); | Constructor. placement is JTabbedPane.TOP (default), BOTTOM, LEFT, or RIGHT. |
| tp = | new JTabbledPane(place, ovrfl); | Constructor. ovrfl tells what to do if too many tabs: JTabbedPane.WRAP_TAB_LAYOUT or .SCROLL_TAB_LAYOUT. |
| tp.addTab(title, comp); | Adds tab labelled with string title which displays comp (usually JPanel). | |
| tp.addTab(title, icon, comp); | Used string and icon for tab label. | |
Copyleft 2005 Fred Swartz