我有兩個面板希望顯示給用戶。我決定將它們添加到JTabbedPane。我也希望允許用戶同時並排查看它們。因此,我增加了兩個小組到我的JTabbedPane的,然後我創建了一個JSplitPanel這樣:JSplitPanel(或JTabbedPane)有什麼問題?
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有問題?你不能讓它顯示已經顯示在另一個選項卡中的對象?這個不成立。請幫幫我。
(注:我不想重複,我現在正要顯示組件,我想他們是相同的)
是的,我喜歡banjollity的想法,您可以在選項卡上添加「addChangeListener」,您只能創建一個GUIView實例,並基於該更改列表器,可以來回切換gui組件。 – Tiger 2009-07-11 15:07:38