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