如何在JTabbedPane及其组件之间添加JSplitPane?

时间:2014-06-24 04:39:06

标签: java swing jtabbedpane java-6 jsplitpane

这是我在下面给出的代码:

theJTabbedPane.addTab(CODING, new javax.swing.ImageIcon(getClass().getResource("/com/sysvine/healthpractice/gui/images/tablet.png")), aPanelDiagIcd);//Constant.getTextBundle("5.การวินิจฉัย")
    aPanelDiagIcd.addPanel(Constant.getTextBundle("การลงรหัส ICD-10"), aPanelDiagICD10);
    aPanelDiagIcd.addPanel(Constant.getTextBundle("การลงรหัส ICD-9"), aPanelDiagICD9);

我需要在JSplitPane及其组件之间添加JTabbedPane。选项卡式窗格由9个选项卡组成。因为每个选项卡包含不同的功能和不同的面板。但是他们添加了标签窗格。如何在它们之间设置拆分窗格,以及拆分窗格的左右组件是什么?

splitPaneH= new javax.swing.JSplitPane();
splitPaneH.setOrientation(javax.swing.JSplitPane.HORIZONTAL_SPLIT);

splitPaneH.setDividerLocation(0);
splitPaneH.setOneTouchExpandable(true);
splitPaneH.setLeftComponent( theJTabbedPane  );
//splitPaneH.setRightComponent( aSourceTabbedPane  );

1 个答案:

答案 0 :(得分:1)

您无法将标签与其内容与JSplitPane等其他组件分开。

但是,您可以告诉JTabbedPane您希望制作标签的方式和位置。查看构造函数JTabbedPane(int tabPlacement)JTabbedPane(int tabPlacement, int tabLayoutPolicy)(这些也有setter / getters)。

对于标签展示位置,请使用JTabbedPane.LEFTJTabbedPane.RIGHT,结果将是您想要实现的结果。

如果您有太多标签页,则可以选择JTabbedPane.WRAP_TAB_LAYOUTJTabbedPane.SCROLL_TAB_LAYOUT。如果需要,第一个将显示多行/列中的所有选项卡,后者将仅显示适合空间的多个选项卡,并显示滚动按钮以滚动到不可见的选项卡。

如果你真的想用JSplitPane这样的内容将标签与其内容分开,则不能使用JTabbedPane。你必须自己实现。例如。将按钮(代表选项卡)放在JSplitPane的一侧,当点击这些按钮时,更改JSplitPane另一侧的组件。