JTabbedPane: setSelectedIndex(int index)
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JEditorPane;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTabbedPane;
public class Main extends JFrame {
private JTabbedPane tp;
private int tabCounter = 0;
public Main() {
super("Browser");
setDefaultCloseOperation(EXIT_ON_CLOSE);
JMenuBar mb = new JMenuBar();
JMenu mFile = new JMenu("File");
JMenuItem mi = new JMenuItem("Add Tab");
ActionListener addTabl = new ActionListener() {
public void actionPerformed(ActionEvent e) {
addTab();
}
};
mi.addActionListener(addTabl);
mFile.add(mi);
mb.add(mFile);
setJMenuBar(mb);
JPanel pnlURL = new JPanel();
tp = new JTabbedPane();
addTab();
add(tp, BorderLayout.CENTER);
setSize(300, 300);
setVisible(true);
}
void addTab() {
JEditorPane ep = new JEditorPane();
ep.setEditable(false);
tp.addTab(null, new JScrollPane(ep));
JButton tabCloseButton = new JButton("Close");
tabCloseButton.setActionCommand("" + tabCounter);
ActionListener al;
al = new ActionListener() {
public void actionPerformed(ActionEvent ae) {
JButton btn = (JButton) ae.getSource();
String s1 = btn.getActionCommand();
for (int i = 1; i < tp.getTabCount(); i++) {
JPanel pnl = (JPanel) tp.getTabComponentAt(i);
btn = (JButton) pnl.getComponent(0);
String s2 = btn.getActionCommand();
if (s1.equals(s2)) {
tp.removeTabAt(i);
break;
}
}
}
};
tabCloseButton.addActionListener(al);
if (tabCounter != 0) {
JPanel pnl = new JPanel();
pnl.setOpaque(false);
pnl.add(tabCloseButton);
tp.setTabComponentAt(tp.getTabCount() - 1, pnl);
tp.setSelectedIndex(tp.getTabCount() - 1);
}
tabCounter++;
}
public static void main(String[] args) {
new Main();
}
}
Related examples in the same category
1. | JTabbedPane.SCROLL_TAB_LAYOUT | | |
2. | JTabbedPane: addChangeListener(ChangeListener l) | | |
3. | JTabbedPane: addTab(String title, Component component) | | |
4. | JTabbedPane: addTab(String title, Icon icon, Component component, String tip) | | |
5. | JTabbedPane: getComponentAt(int index) | | |
6. | JTabbedPane: getDisabledIconAt(int index) | | |
7. | JTabbedPane: getDisplayedMnemonicIndexAt(int tabIndex) | | |
8. | JTabbedPane: getIconAt(int index) | | |
9. | JTabbedPane: getMnemonicAt(int tabIndex) | | |
10. | JTabbedPane: getTitleAt(int index) | | |
11. | JTabbedPane: getToolTipTextAt(int index) | | |
12. | JTabbedPane: indexOfComponent(Component component) | | |
13. | JTabbedPane: indexOfTab(String title) | | |
14. | JTabbedPane: insertTab(String title, Icon icon, Component component, String tip, int index) | | |
15. | JTabbedPane: isEnabledAt(int index) | | |
16. | JTabbedPane: remove(Component component) | | |
17. | JTabbedPane: removeAll() | | |
18. | JTabbedPane: removeTabAt(int index) | | |
19. | JTabbedPane: setBackgroundAt(int index, Color background) | | |
20. | JTabbedPane: setDisabledIconAt(int index, Icon disabledIcon) | | |
21. | JTabbedPane: setDisplayedMnemonicIndexAt(int tabIndex, int mnemonicIndex) | | |
22. | JTabbedPane: setEnabledAt(int index, boolean enabled) | | |
23. | JTabbedPane: setForegroundAt(int index, Color foreground) | | |
24. | JTabbedPane: setMnemonicAt(int tabIndex, int mnemonic) | | |
25. | JTabbedPane: setTabComponentAt(int index, Component component) | | |
26. | JTabbedPane: setTabLayoutPolicy(int tabLayoutPolicy) | | |
27. | JTabbedPane: setTabPlacement(int tabPlacement) | | |
28. | JTabbedPane: setToolTipTextAt(int index, String toolTipText) | | |