我创建了一个jframe
,并向其中添加了jbutton
,并将jframe
的大小设置为500,500
,并将jbutton
的大小设置为{ {1}}。但是,当我执行程序时,我的40,60
覆盖了整个jbutton
。一世
尝试了很多事情并调查了许多来源,但我找不到解决方案。
请帮助我解决此问题。
答案 0 :(得分:-1)
您没有使用任何LayoutManager
。 JButton
将尝试继承父容器的大小,因为JFrame的默认值为BorderLayout
(特别是BorderLayout.CENTER
)。您可以尝试使用
button.setPreferredSize(x, y);
但是我个人认为这还不够。在getContentPane
上调用Jframe
,然后在该contentPane容器上设置布局(我经常使用FlowLayout
,因为它尊重setPreferredSize
)。将您的JButton
放入其中。
这始终是一个很好的起点:
https://docs.oracle.com/javase/tutorial/uiswing/layout/visual.html
由于可以在UI元素上调用的方法因要为其分配给LayoutManager(作为其子级)的LayoutManager的不同而不同。有时是setMinimumSize
,有时是setPreferredSize
,有时是组合。