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