2012-04-03 130 views
1

这里是我的问题:我试图创建一个简单的界面,我可以点击几个按钮来调用differents函数,并在jlabel中显示结果(总是文本)。我试图让2分隔部分(北/南或东/西)第一个区域将包含我所有按钮的网格布局或流布局,第二个区域将显示文本结果。Java Swing界面问题

这里是我的声明:

private static JButton b0 = new JButton("Creer Zone"); 
private static JButton b1 = new JButton("1"); 
private static JButton b2 = new JButton("2"); 
... 
private static JButton b11= new JButton("11"); 
private static JButton b12 = new JButton("12"); 
private static JButton b14 = new JButton("Help"); 
private static JFrame windows = new JFrame(); 
private static JPanel container = new JPanel(); 
private static JLabel res = new JLabel(); 

,这里是我他们如何加入到JFrame(这是真的awfull看):

container.add(b0); 
container.add(b1); 
container.add(b2); 
... 
container.add(b12); 
container.add(b14); 
container.add(res); 

windows.setSize(450,500); 
windows.setContentPane(container); 
windows.setLocation(150 , 150); 
windows.setVisible(true); 

我试着声明我的JPanel与一个网格布局,borderlayout和改变位置(NSEW)和一个流程布局,我总是结束与jlabel disapearing(这是坏的,因为这个jlabel显示我的功能的结果)

任何人都有一个简单的方法来帮助我克服这个问题?非常感谢您采取任何时候

+0

你不加入的面板(这看起来像它包含了一切)到JFrame。可能是一个问题...此外,我可以重现这个问题,原因是我没有为框架定义布局。我通常使用FlowLayout来处理这样的事情。如果你需要澄清,只需询问。 :) – fireshadow52 2012-04-03 14:24:25

+0

是否有一个特定的原因,你需要使用'JButton'来执行这些任务,正如你所提到的,或者其他任何东西都可以用来保存你的一天? :-) – 2012-04-03 15:15:42

回答

1
+0

感谢您的答案^ - ^但我已经花了一个小时在oracla java doc这就是为什么我问这里。 GridBagLayout起初似乎是完美的解决方案,但我从未设法使其工作,所以我放弃了,并试图有2个不同的部分,最终没有任何工作。无论如何,我会再次尝试这个GridBag,也许我可以带来更好的东西,这次= D – WizLiz 2012-04-03 13:57:39

+0

*“我已经在oracla java文档上花了一个小时了”*花费几天的时间完成[Layla Out Components Within容器](http://docs.oracle.com/javase/tutorial/uiswing/layout/index.html)Java教程。简单地使用它们作为[嵌套布局](http://stackoverflow.com/a/5630271/418556)来实现复杂的布局。 – 2012-04-04 04:24:45

1

解释另一种可能的解决方案为你将来的事业是寻找到WindowsBuilder。它基本上简化了布局设计,只需简单地拖放元素(Jframe,JtextField等),然后在后台WindowsBuilder就会为您编写代码。请注意,唯一需要真正添加/更改的是按钮的命名约定,当然还有事件处理程序,但实际上这些都是任何设计人员想要控制的东西......希望这可以帮助您!

https://developers.google.com/java-dev-tools/wbpro/