我有2個框架代表條形圖。 valueFrame是整數的輸入文本框。 barFrame是valueFrame對應的條形圖。如何將2個JFrame添加到單個JPanel?
我想採取這2個獨立的幀,並把它們並排放入1個JPanel。所以當程序運行時,我看到1個JPanel裏面有2幀。當我嘗試添加框架時,我得到一個IllegalArgumentException。任何人都可以告訴我如何正確地做到這一點?
public static void main(String[] args) {
// TODO code application logic here
ArrayList<Double> data = new ArrayList<Double>();
data.add(new Double(33.0));
data.add(new Double(44.0));
data.add(new Double(22.0));
data.add(new Double(22.0));
Model model = new Model(data);
View1 valueFrame = new View1(model);
View2 barFrame = new View2(model);
model.attach(barFrame);
JPanel mainPanel = new JPanel();
mainPanel.setSize(600,400);
mainPanel.setLayout(new BorderLayout());
mainPanel.add(valueFrame,BorderLayout.WEST);//IllegalArgumentException
mainPanel.add(barFrame,BorderLayout.EAST);//IllegalArgumentException
mainPanel.setVisible(true);
}
}
Exception in thread "main" java.lang.IllegalArgumentException: adding a window to a container
at java.awt.Container.checkNotAWindow(Container.java:488)
at java.awt.Container.addImpl(Container.java:1089)
at java.awt.Container.add(Container.java:971)
at Ales6_7.Ales6_7.main(Ales6_7.java:43)
BUILD SUCCESSFUL (total time: 4 seconds)
@nachokk會的JInternalFrame只是取代JPanel? – Reeggiie
將兩個不同的佈局添加到一個JFrame中以獲得您想要的結果。 - 沒有兩個意見。這是不必要的。 – jrowe08
@ user3345200否,JInternalFrame替換JFrames ..您將InternalFrame添加到DesktopPane,請閱讀我的答案;) – nachokk