我正在使用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