Latest Tutorials| Questions and Answers|Ask Questions?|Site Map



Home Java Example Java Swing Add and Remove Tab to a JTabbedPane Container

Related Tutorials


 
 

Share on Google+Share on Google+

Add and Remove Tab to a JTabbedPane Container

Advertisement
This section shows you how to add a tab to the JTabbedPane container and how to remove tab from a JTabbedPane container.

Add and Remove Tab to a JTabbedPane Container

     

Screen Shot for result of the program:

Frame for Add Remove Tab

Input Box for adding tab to the frame

Added Tab to the frame

Remove Tab panel of the frame

This section shows you how to add a tab to the JTabbedPane container and how to remove tab from a JTabbedPane container. 

In this section, you will learn about adding tab to the JTabbedPane container and removing tab from the JTabbedPane container. This program shows two tabs and two panels with separate command button. The panel regarding to the "Add Tab" tab contains a command button labeled with the text "Add Tab" and another panel regarding to the "Remove Tab" also contains the "Remove Tab". If you click on the "Add Tab" button then a input box is opened and takes new tab name which has to be generated and add a new tab with the given name with a panel which contains a label labeled with the "Your program is working successfully." otherwise if you click on the "Remove Tab" button then the last tab is removed from the JTabbedPane container.

Following some method and APIs are used for adding or removing tabs from the JTabbedPane container:

JTabbedPane.remove(index):
This is the method of the JTabbedPane class. This method is used to remove tab from the JTabbedPane container present at the given position to the method as a parameter.

getTabCount():
This is the method of the JTabbedPane class. This method is used to count the number of tabs present in the JTabbedPane container. This method a integer value.

Here is the code of the program:

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;

public class AddRemoveTab{
  JTabbedPane tab;
  public static void main(String[] args){
  AddRemoveTab ar = new AddRemoveTab();
  }

  public AddRemoveTab(){
  JFrame frame = new JFrame("Add Remove Tab Frame");
  tab = new JTabbedPane();
  frame.add(tab, BorderLayout.CENTER);
  JPanel panel = new JPanel();
  JButton button = new JButton("Add Tab");
  button.addActionListener(new MyAction());
  panel.add(button);
  tab.add("Add Tab", panel);
  JPanel panel1 = new JPanel();
  JButton button1 = new JButton("Remove Tab");
  button1.addActionListener(new MyAction());
  panel1.add(button1);
  tab.add("Remove Tab", panel1);
  frame.setSize(400400);
  frame.setVisible(true);
  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }

  public class MyAction implements ActionListener{
  public void actionPerformed(ActionEvent e){
  String str = e.getActionCommand();
  if(str.equals("Add Tab")){
  String st = JOptionPane.showInputDialog(null, "Enter Tab Name.");
  if(!st.equals("")){
  JPanel panel2 = new JPanel();
  JLabel label = new JLabel("Your program is working successfully.");
  panel2.add(label);
  tab.add(st, panel2);
  }
  }
  else if(str.equals("Remove Tab")){
  tab.remove(tab.getTabCount()-1);
  }
  }
  }
}

Download this example.

Advertisements

If you enjoyed this post then why not add us on Google+? Add us to your Circles



Liked it!  Share this Tutorial


Follow us on Twitter, or add us on Facebook or Google Plus to keep you updated with the recent trends of Java and other open source platforms.

Posted on: April 14, 2007

Related Tutorials

Discuss: Add and Remove Tab to a JTabbedPane Container   View All Comments

Post your Comment


Your Name (*) :
Your Email :
Subject (*):
Your Comment (*):
  Reload Image
 
 
Comments:1
Oanthata Kealeboga
April 11, 2011
Tabs in tabs

Hi... I know how to use tabs but now I want add a tab insyd a tab... the code I used is below //----- // // AdminOptions Panel // AdminOptions.addTab("Staff Registration", StaffRegitration); AdminOptions.addTab("Browser Updates", BrowserUpdates); AdminOptions.addTab("User Screen", UsersScreen);//UserScreen is of type JPanel AdminOptions.setOpaque(true); AdminOptions.addChangeListener(new ChangeListener() { public void stateChanged(ChangeEvent e) { } }); UsersScreen.addTab("Delete User", DeleteUser); UsersScreen.setOpaque(true); UsersScreen.addChangeListener(new ChangeListener() { public void stateChanged(ChangeEvent e) { } }); The error I get is below: Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 0 at javax.swing.plaf.basic.BasicTabbedPaneUI.paintTabArea(Unknown Source) at javax.swing.plaf.basic.BasicTabbedPaneUI.paint(Unknown Source) at javax.swing.plaf.ComponentUI.update(Unknown Source) at javax.swing.JComponent.paintComponent(Unknown Source) at javax.swing.JComponent.paint(Unknown Source) at javax.swing.JComponent.paintChildren(Unknown Source) at javax.swing.JComponent.paint(Unknown Source) at javax.swing.JComponent.paintToOffscreen(Unknown Source) at javax.swing.BufferStrategyPaintManager.paint(Unknown Source) at javax.swing.RepaintManager.paint(Unknown Source) at javax.swing.JComponent._paintImmediately(Unknown Source) at javax.swing.JComponent.paintImmediately(Unknown Source) at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source) at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source) at javax.swing.RepaintManager.seqPaintDirtyRegions(Unknown Source) at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(Unknown Source) at java.awt.event.InvocationEvent.dispatch(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source) Thanx in advance
DMCA.com