Recipe 14.3 A Tabbed View of Life


Problem

These layouts don't include a tab layout, and you need one.

Solution

Use a JTabbedPane.

Discussion

The JTabbedPane class acts as a combined container and layout manager. It implements a conventional tab layout, which looks like Figure 14-2.

Figure 14-2. JTabbedPane: two views in Java Look and one in Windows Look
figs/jcb2_1402.gif


To add a tab to the layout, you do not use setLayout( ) . You simply create the JTabbedPane and call its addTab( ) method, passing in a String and a Component; you usually need to add JPanels or some similar Container to make a sophisticated layout. Example 14-1 is the code for our simple program.

Example 14-1. TabPaneDemo.java
import javax.swing.*; public class TabPaneDemo {     protected JTabbedPane tabPane;     public TabPaneDemo( ) {         tabPane = new JTabbedPane( );         tabPane.add(new JLabel("One", JLabel.CENTER), "First");         tabPane.add(new JLabel("Two", JLabel.CENTER), "Second");     }     public static void main(String[] a) {         JFrame f = new JFrame("Tab Demo");         f.getContentPane( ).add(new TabPaneDemo( ).tabPane);         f.setSize(120, 100);         f.setVisible(true);     } }

See Also

The third screenshot in Figure 14-2 shows the program with a Windows look and feel, instead of the default Java look and feel. See Recipe 14.15 for how to change the look and feel of a Swing-based GUI application.



Java Cookbook
Java Cookbook, Second Edition
ISBN: 0596007019
EAN: 2147483647
Year: 2003
Pages: 409
Authors: Ian F Darwin

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net