Java tutorial
import java.awt.GridLayout; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.util.ArrayList; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTabbedPane; import javax.swing.SwingUtilities; import javax.swing.WindowConstants; public class Main extends JFrame { JTabbedPane tabbedPane = null; MouseListener tabbedPaneMouseListener = null; ArrayList<String> nameOfTab = new ArrayList<String>(); static int counter = 1; public Main() { setSize(500, 500); setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); setLayout(new GridLayout(0, 1)); JPanel buttonPanel = new JPanel(); JButton addButton = new JButton("add"); addButton.addActionListener(e -> addElementToArrayList()); JButton removeButton = new JButton("remove"); removeButton.addActionListener(e -> removeElementFromArrayList()); tabbedPane = new JTabbedPane(); tabbedPaneMouseListener = (new MouseAdapter() { public void mouseClicked(MouseEvent e) { if (SwingUtilities.isLeftMouseButton(e)) { if (e.getClickCount() == 1) { System.out.println("Do Something"); } } } }); tabbedPane.addMouseListener(tabbedPaneMouseListener); buttonPanel.add(addButton); buttonPanel.add(removeButton); add(buttonPanel); this.add(tabbedPane); } void addElementToArrayList() { nameOfTab.add("" + counter++ + ". element"); updateTabbedPane(); } void removeElementFromArrayList() { if (nameOfTab.size() > 0) { nameOfTab.remove(0); } updateTabbedPane(); } public void updateTabbedPane() { tabbedPane.removeMouseListener(tabbedPaneMouseListener); while (tabbedPane.getTabCount() > 0) { tabbedPane.remove(0); } for (int i = 0; i < nameOfTab.size(); i++) { tabbedPane.addTab(nameOfTab.get(i), new JLabel(nameOfTab.get(i))); } tabbedPane.addMouseListener(tabbedPaneMouseListener); } public static void main(String args[]) { new Main().setVisible(true); } }