我有两个希望向用户显示的面板。我决定将它们添加到 JTabbedPane。我还想让用户同时看到它们的并排视图。所以我将这两个面板添加到我的 JTabbedPane 中,然后我创建了一个 JSplitPanel:
tabs.addTab("Align Image Points", imageControlPanel);
tabs.addTab("Align Map Points", mapControlPanel);
JSplitPane splitPane = new JSplitPane(
JSplitPane.HORIZONTAL_SPLIT, true, imageControlPanel,
mapControlPanel);
tabs.addTab("Side by side view", splitPane);
生成的 JTabbedPane 只有一个选项卡!当我删除 JSplitPane 时,一切正常。两个选项卡。然后我尝试简化问题以在此处发布,我想出了这个:
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JSplitPane;
import javax.swing.JTabbedPane;
public class Test {
public static void main(String[] args) {
JFrame f = new JFrame("Test");
JButton b1 = new JButton("First");
JButton b2 = new JButton("Second");
JSplitPane s = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,true,b1,b2);
JTabbedPane tabs = new JTabbedPane();
tabs.addTab("First", b1);
tabs.addTab("Second", b2);
tabs.addTab("Both", s);
f.getContentPane().add(tabs);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.pack();
f.setVisible(true);
}
}
这给了我另一个问题!它显示 3 个选项卡,但第三个选项卡的拆分窗格不显示任何按钮!
所以我的问题是 JSplitPanel 有什么问题?您不能让它显示已经在另一个选项卡中显示的对象吗?这没有道理。请帮我。
(注意:我不想复制我将要显示的组件,因为我希望它们是相同的参考)