JTabbedPane
JTabblePane contains tabs and is used to create container in which we can switch between a group of components by clicking on the tabs.
import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTabbedPane; import javax.swing.*; import java.awt.event.*; public class TabbedPane extends JFrame { JTextField jtf1; JTextField jtf2; JLabel label1, label2; JLabel output1,output2; public TabbedPane() { setTitle("Tabbed Pane"); JTabbedPane jtp = new JTabbedPane(); getContentPane().add(jtp); JPanel jp1 = new JPanel(); JPanel jp2 = new JPanel(); jp1.setSize(200,200); label1 = new JLabel(); label1.setText("Your Name"); jtf1 = new JTextField(20); jtf2 = new JTextField(20); output1 = new JLabel("Name: "); output2 = new JLabel("Address: "); jtf1.addActionListener(new ac()); jtf2.addActionListener(new ac()); label2 = new JLabel(); label2.setText("Your Address"); jp1.add(label1); jp1.add(jtf1); jp1.add(output1); jp2.add(label2); jp2.add(jtf2); jp2.add(output2); jtp.addTab("Tab1", jp1); jtp.addTab("Tab2", jp2); } class ac implements ActionListener{ public void actionPerformed(ActionEvent ae){ if(ae.getSource() == jtf1){ output1.setText(output1.getText()+jtf1.getText()); }else{ output2.setText(output2.getText()+jtf2.getText()); } } } public static void main(String[] args) { TabbedPane tp = new TabbedPane(); tp.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); tp.setVisible(true); tp.setSize(400,300); tp.setLocationRelativeTo(null); } }