Ros*_*tro 1 java swing awt jpanel jbutton
我正在尝试将JButton的大小调整为一定的大小.我有9个按钮.我从API了解到JButton继承了setSize(int a,int b)和setSize(Dimension d).我选择使用第二个,虽然我尝试了另一个,它没有解决我的问题.这是代码.
// setup buttons
reset = new JButton("Reset");
square1 = new JButton();
square2 = new JButton();
square3 = new JButton();
square4 = new JButton();
square5 = new JButton();
square6 = new JButton();
square7 = new JButton();
square8 = new JButton();
square9 = new JButton();
//set button size
Dimension d = new Dimension(100,100);
square1.setSize(d);
square2.setSize(d);
square3.setSize(d);
square4.setSize(d);
square5.setSize(d);
square6.setSize(d);
square7.setSize(d);
square8.setSize(d);
square9.setSize(d);
Run Code Online (Sandbox Code Playgroud)
我尝试了几个不同的尺寸,但没有一个有任何区别.我错过了什么?我正在使用gridLayout(3,3,5,5)作为按钮所在的JPanel.JFrame的尺寸为(400,425).谢谢你的帮助!
Hov*_*els 10
布局管理器通常不尊重组件的大小,因此设置大小通常影响不大.相反,布局管理器通常尊重组件的首选大小.说完这个之后,通常最好不要尝试自己设置preferredSize,setPreferredSize(Dimension d)而是让布局管理器和组件为您执行此操作.如果您必须自己完成,请考虑扩展组件并覆盖getPreferredSize()并添加返回正确且正确的preferredSize维度的智能代码.
例如,请在这里回答最近的一个问题,看看我的代码.在其中,我更改了JButton的Font的大小以使其更大,但我从不设置任何组件的大小或preferredSizes,而是让组件本身和容器的布局管理器为我工作.
如果您不相信我,请阅读kleopatra的一些帖子和评论,kleopatra是我所知道的最聪明,最有影响力的Swing程序员之一,也是SwingX工具包的作者之一.例如她的回答在这里.
| 归档时间: |
|
| 查看次数: |
47562 次 |
| 最近记录: |