[英]Java Sizing JPanel & JPanel Components
I'm trying to build a GUI in Java Swing. 我正在尝试在Java Swing中构建GUI。 I have alot of trouble sizing components.
我在调整组件大小方面有很多麻烦。 I managed to size a JPanel by setting the dimensions with
setPreferredSize()
, but I can't get the components within that JPanel to size properly. 我通过使用
setPreferredSize()
设置尺寸来设法调整JPanel的大小,但是无法正确调整该JPanel中的组件的大小。
This is my screen with only the JPanel visible. 这是我的屏幕,只有JPanel可见。
When I add the button to my JPanel the following happens: 当我将按钮添加到我的JPanel时,会发生以下情况:
As you can see the button is taking up the whole lenght and width of my JPanel/JFrame. 如您所见,该按钮占用了我的JPanel / JFrame的整个长度和宽度。 Why is this happening?
为什么会这样呢? How can I fix it?
我该如何解决?
Here is my code: 这是我的代码:
Application.java Application.java
public void start() {
ControllerObserveer observeer = new ControllerObserveer();
frame = new JFrame("-");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
frame.setLayout(new BorderLayout());
frame.add(observeer.getView(), BorderLayout.CENTER);
frame.setResizable(false);
}
ControllerObserveer.java ControllerObserveer.java
public class ControllerObserveer {
private ModelObserveer model;
private ViewObserveer view;
public JPanel getView(){
return this.view.p;
}
}
ViewObserveer.java ViewObserveer.java
public class ViewObserveer {
public JPanel p;
public ViewObserveer(){
this.p = new JPanel(new BorderLayout(), false);
p.setPreferredSize(new Dimension(500, 500));
p.setBackground(Color.red);
JButton b = new JButton("Hello World!");
b.setPreferredSize(new Dimension(40, 40));
p.add(b);
}
}
At last I would like to ask what the diffrences are between the diffrent layouts, like BorderLayout()
or BoxLayout()
for example. 最后,我想问一下不同布局之间的区别是什么,例如
BorderLayout()
或BoxLayout()
。
Thank you for your time! 感谢您的时间!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.