ユーザーに表示したい2つのパネルがあります。それらを JTabbedPane に追加することにしました。また、ユーザーが両方を同時に並べて表示できるようにしたいと考えています。そこで、2 つのパネルを 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 にはタブが 1 つしかありません。JSplitPane を削除すると、すべて正常に動作します。2 つのタブ。次に、ここに投稿するために問題を単純化しようとしましたが、これを思いつきました:
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 つのタブが表示されますが、3 番目のタブの分割ペインにはボタンが表示されません!
だから私の質問はJSplitPanelの何が問題なのですか? 別のタブに既に表示されているオブジェクトを表示することはできませんか? 意味がない。私を助けてください。
(注:表示しようとしているコンポーネントを同じ参照にしたいので、それらを複製したくありません)