Subscribe

RSS Feed (xml)

Powered By

Skin Design:
Free Blogger Skins

Powered by Blogger

Monday, November 19, 2007

short notes on Java 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.setSize(w, h); Sets window size, but use layouts and pack() instead.

w.show(); Deprecated. Use w.setVisible(true).

w.hide(); 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.

No comments:

Post a Comment

Archives