First usage of JTabbedPane : JTabbedPane « Swing « Java Tutorial






import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;
import javax.swing.SwingUtilities;

public class MainClass {

  public static void main(String[] a) {
    JFrame f = new JFrame();
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    f.add(new JTabbedPaneDemo());
    f.setSize(500, 500);
    f.setVisible(true);
  }
}

class JTabbedPaneDemo extends JPanel {

  public void init() {
    try {
      SwingUtilities.invokeAndWait(new Runnable() {
        public void run() {
          makeGUI();
        }
      });
    } catch (Exception exc) {
      System.out.println("Can't create because of " + exc);
    }
  }

  private void makeGUI() {

    JTabbedPane jtp = new JTabbedPane();
    jtp.addTab("Cities", new CitiesPanel());
    jtp.addTab("Colors", new ColorsPanel());
    jtp.addTab("Flavors", new FlavorsPanel());
    add(jtp);
  }
}

class CitiesPanel extends JPanel {

  public CitiesPanel() {

    JButton b1 = new JButton("New York");
    add(b1);
    JButton b2 = new JButton("London");
    add(b2);
    JButton b3 = new JButton("Hong Kong");
    add(b3);
    JButton b4 = new JButton("Tokyo");
    add(b4);
  }
}

class ColorsPanel extends JPanel {

  public ColorsPanel() {

    JCheckBox cb1 = new JCheckBox("Red");
    add(cb1);
    JCheckBox cb2 = new JCheckBox("Green");
    add(cb2);
    JCheckBox cb3 = new JCheckBox("Blue");
    add(cb3);
  }
}

class FlavorsPanel extends JPanel {

  public FlavorsPanel() {

    JComboBox jcb = new JComboBox();
    jcb.addItem("Vanilla");
    jcb.addItem("Chocolate");
    jcb.addItem("Strawberry");
    add(jcb);
  }
}








14.51.JTabbedPane
14.51.1.First usage of JTabbedPane
14.51.2.Adding and Removing TabsAdding and Removing Tabs
14.51.3.Get the index of the first tab that matches an icon
14.51.4.Changing tab's title, icon, mnemonic, tooltip, or component on a particular tab with one of the setXXXAt() methodsChanging tab's title, icon, mnemonic, tooltip, or component  on a particular tab with one of the setXXXAt() methods
14.51.5.Adds tool tips to a table using a rendererAdds tool tips to a table using a renderer
14.51.6.Specifying a tab's location: TOP, BOTTOM, LEFT, or RIGHTSpecifying a tab's location: TOP, BOTTOM, LEFT, or RIGHT
14.51.7.Changing background, foreground and iconChanging background, foreground and icon
14.51.8.To remove a tab, you can remove a specific tab with removeTabAt(int index), remove(int index), or remove(Component component)To remove a tab, you can remove a specific tab with  removeTabAt(int index), remove(int index), or remove(Component component)
14.51.9.Listening for Selected Tab ChangesListening for Selected Tab Changes
14.51.10.TabLayout Policy: SCROLL_TAB_LAYOUT or WRAP_TAP_LAYOUTTabLayout Policy: SCROLL_TAB_LAYOUT or WRAP_TAP_LAYOUT
14.51.11.Add Components to JTabbedPane
14.51.12.New Methods in the JTabPane Component (Add component to JTabPane)
14.51.13.JTabPane with TextField in the tabJTabPane with TextField in the tab
14.51.14.Add user icon to tab panelAdd user icon to tab panel
14.51.15.Add Button to tab barAdd Button to tab bar
14.51.16.Add a tab with a label taken from the name of the component
14.51.17.Add a tab with a label at the end of all tabs
14.51.18.Add a tab with a label and icon at the end of all tabs
14.51.19.Add a tab with a label, icon, and tool tip at the end of all tabs
14.51.20.Getting the Tabs in a JTabbedPane Container
14.51.21.Enable Scrolling Tabs in a JTabbedPane Container
14.51.22.Enabling the Selection of a Tab in a JTabbedPane Container Using a Keystroke
14.51.23.Enabling and Disabling a Tab in a JTabbedPane Container
14.51.24.Setting the Color of a Tab in a JTabbedPane Container
14.51.25.Setting the Tool Tip for a Tab in a JTabbedPane Container
14.51.26.Setting the Location of the Tabs in a JTabbedPane Container
14.51.27.Determining When the Selected Tab Changes in a JTabbedPane Container
14.51.28.Moving a Tab in a JTabbedPane Container
14.51.29.Insert a tab after the first tab
14.51.30.Get the index of the tab by matching the child component
14.51.31.Getting and Setting the Selected Tab in a JTabbedPane Container
14.51.32.Setting the Size of the Divider in a JSplitPane Container
14.51.33.Customizing a JTabbedPane Look and Feel