我正在使用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. Eclipse WindowBuilder,重疊JPanels
- 2. 兩個JPanels重疊?
- 3. Google WindowBuilder for Java
- 4. 在WindowBuilder for Eclipse中隱藏工具欄
- 5. Eclipse WindowBuilder錯誤?
- 6. WindowBuilder Eclipse GWT_HOME missing
- 7. 使用Eclipse WindowBuilder創建一個GUI
- 8. JPanels在重疊期間閃爍
- 9. Java:使用Eclipse Windowbuilder的動態佈局
- 10. smartGWT和Eclipse與WindowBuilder
- 11. Eclipse WindowBuilder不準確
- 12. 展開/摺疊特定jpanels
- 13. Java eclipse WindowBuilder,改變外觀
- 14. 在WindowBuilder中更改JFrame Eclipse
- 15. 使用WindowBuilder編輯GUI
- 16. Google Maps for Android重疊
- 17. 試圖在JLayeredPane中重疊兩個相同大小的JPanels
- 18. Java無法調用使用eclipse構建的簡單JDialog WindowBuilder
- 19. 將JPanels堆疊在同一個方向
- 20. 嘗試在Eclipse上使用WindowBuilder時出錯
- 21. Java/Eclipse(WindowBuilder插件) - 如何有效使用Swing Actionlisteners?
- 22. 我可以使用Eclipse,windowbuilder鏈接兩個JFrame窗口嗎?
- 23. 使用WindowBuilder在Eclipse中JDialog懶惰風格的代碼生成
- 24. 如何在Eclipse Mars中使用WindowBuilder調整Tab順序
- 25. 使用WindowBuilder作爲Java程序的GUI
- 26. 使用for循環將JPanels添加到JFrame
- 27. 使用的WindowBuilder建立GUI我的應用程序的WindowBuilder
- 28. Java(Eclipse)WindowBuilder設置最大尺寸
- 29. Google/Eclipse windowbuilder - 它是如何工作的?
- 30. Eclipse RCP與谷歌Windowbuilder專業
您使用的是什麼佈局管理器? – Sheriff 2011-12-21 18:12:21
@Sheriff - GroupLayout – pingu 2011-12-21 18:15:05
+1因爲我不知道你可以這樣做,直到我研究了我的答案。 – Sheriff 2011-12-21 19:03:55