我正在使用WindowBuilder Pro進行eclipse,並且我希望有兩個完全相互重疊的Jpanel。然後,我可以根據選擇的combox框切換其可見性。當我嘗試在gui builder中實現這個目標時,第一個面板被第二個面板取代。並請諮詢?使用WindowBuilder for eclipse重疊JPanels
2
A
回答
3
我想有兩個完美重疊的Jpanels。然後,我可以基於選擇的combox框切換其可見性
請參閱:How to Use Card Layout一個示例,完全是這樣。
4
根據tutorial,有可能使用groupLayout
。
您必須做的是將組件添加到母親JPanel
,並將該面板設置爲使用GroupLayout
。
然後在水平和垂直間距中將組件添加到佈局中作爲ParallelGroup
。這意味着它們將佔用相同的X和Y空間。然後根據需要禁用/啓用,並隱藏JPanel。
我相信它會的工作方式是這樣:
JPanel panel1, panel2, panel3;
//initialize panel3, etc
panel1=new JPanel();
panel2 = new JPanel();
panel1.add(new JTextField("Panel1"));
panel2.add(new JTextField("PANEL2"));
groupLayout = new GroupLayout(panel3);
panel3.setLayout(groupLayout);
groupLayout.setHorizontalGroup(
groupLayout.createParallelGroup(GroupLayout.Alignment.LEADING)
.addComponent(panel1)
.addComponent(panel2)
);
groupLayout.setVerticalGroup(
groupLayout.createParallelGroup(GroupLayout.Alignment.LEADING)
.addComponent(panel1)
.addComponent(panel2)
);
panel1.setEnabled(false);
panel1.setVisible(false);
然後添加一個JCheckBox的用含有ActionPerformed
方法:
if(panel1.isEnabled()) {
panel1.setEnabled(false);
panel1.setVisible(false);
panel2.setEnabled(true);
panel2.setVisible(true);
}else
if(panel2.isEnabled()) {
panel2.setEnabled(false);
panel2.setVisible(false);
panel1.setEnabled(true);
panel1.setVisible(true);
}
這產生了預期的行爲我。你應該能夠很容易地將JComboBox
換成JCheckBox
。
編輯:刪除了「自己的Jpanel」的必要性。情況並非如此,上述方法可讓您獲得GroupLayout和CardLayout的好處。
0
+0
-1這個答案是在30分鐘前給出的。沒有必要混淆與重複的答案論壇。 – camickr 2011-12-22 01:17:03
相關問題
- 1. 兩個JPanels重疊?
- 2. WindowBuilder Eclipse GWT_HOME missing
- 3. Java:使用Eclipse Windowbuilder的動態佈局
- 4. smartGWT和Eclipse與WindowBuilder
- 5. 展開/摺疊特定jpanels
- 6. 在WindowBuilder中更改JFrame Eclipse
- 7. 試圖在JLayeredPane中重疊兩個相同大小的JPanels
- 8. Java/Eclipse(WindowBuilder插件) - 如何有效使用Swing Actionlisteners?
- 9. Eclipse WindowBuilder - 文本不適合JLabel
- 10. Eclipse RCP與谷歌Windowbuilder專業
- 11. Java(Eclipse)WindowBuilder設置最大尺寸
- 12. 用windowbuilder重新調整窗體大小
- 13. 重試Eclipse ADT for Android
- 14. 呼叫重繪()對於JPanels
- 15. 使用WindowBuilder動態創建JButton
- 16. 使JButton重疊
- 17. css for div與浮動的div重疊?
- 18. Javascript for loop檢查間隔重疊
- 19. 爲JPanels
- 20. 我不能在eclipse中用WindowBuilder插件創建新類oxigen
- 21. 使用RelativeLayout重疊的TextViews
- 22. 試圖重新繪製不同的JPanels
- 23. 如何在Eclipse中使用Windowbuilder填充JTable? (請參閱GUI的屏幕截圖)
- 24. 重點麻煩多個JPanels和線程
- 25. 帶WindowBuilder Pro的Java Swing BSAF
- 26. 可移動的JPanels或Widget像JPanels
- 27. 使用Eclipse Indigo for JSF 2.0組件
- 28. 使用Eclipse Indigo for JSF 2.0項目
- 29. 不能在eclipse中使用debug for man
- 30. 使用Scala Plugin for Eclipse的noClassDefFoundError
您使用的是什麼佈局管理器? – Sheriff 2011-12-21 18:12:21
@Sheriff - GroupLayout – pingu 2011-12-21 18:15:05
+1因爲我不知道你可以這樣做,直到我研究了我的答案。 – Sheriff 2011-12-21 19:03:55