O'Reilly logo

Java Cookbook by Ian F. Darwin

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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 13-2.

JTabbedPane: two views in Java Look and one in MS-Windows Look

Figure 13-2. JTabbedPane: two views in Java Look and one in MS-Windows Look

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. Example 13-1 is the code for our simple program.

Example 13-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 screen shot in Figure 13-2 shows the program with a MS-Windows look and feel, instead of the default Java look and feel. See Section 13.13 for how to change the look and feel of a Swing-based GUI application.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required