如何在 Java 中将多个选项卡插入单个 JTabbedPane?
awtjavaobject oriented programmingprogrammingswing
JTabbedPane
- JTabbedPane 是一个可以扩展 JComponent 类的组件,我们一次可以看到一个选项卡。
- 每个选项卡都与一个组件相关联,该组件可以在选择选项卡时显示。
- 当选择选项卡时,JTabbedPane 可以生成 ChangeListener 接口。
- 也可以将多个选项卡 插入单个 JTabbedPane,JTabbedPane 的重要方法是 addTab()、fireStateChanged(), getTabPlacement() setSelectedIndex() getTabCount()等等
示例
import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; public class NestedJTabbedPaneTest extends JFrame { public NestedJTabbedPaneTest() { setTitle("Nested JTabbedPane test"); setLayout(new BorderLayout()); JTabbedPane tabbedPane = new JTabbedPane(); add(BorderLayout.CENTER, tabbedPane); createNestedTab(tabbedPane, 1); setSize(375, 250); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setLoc*ationRelativeTo(null); setVisible(true); } protected void createNestedTab(JTabbedPane jtp, int count) { if (count > 5) return; JTabbedPane tp = new JTabbedPane(); tp.setTabPlacement(getNextOrientation(jtp.getTabPlacement())); jtp.addTab("Tab #" + count, tp); createNestedTab(tp, count+1); } private int getNextOrientation(int tabPlacement) { if (tabPlacement == JTabbedPane.TOP) return JTabbedPane.RIGHT; if (tabPlacement == JTabbedPane.RIGHT) return JTabbedPane.BOTTOM; if (tabPlacement == JTabbedPane.BOTTOM) return JTabbedPane.LEFT; else return JTabbedPane.TOP; } public static void main(String []args) { new NestedJTabbedPaneTest(); } }