Java 设置按钮大小

Java 设置按钮大小,java,swing,jpanel,awt,jbutton,Java,Swing,Jpanel,Awt,Jbutton,我正在尝试调整JButton的大小,使其始终保持一定的大小。我有9个这样的按钮。我从API中了解到,它JButton继承了setSize(intA,intB)和setSize(维度d)。我选择使用第二个,尽管我尝试了另一个,但它并没有解决我的问题。这是代码 // setup buttons reset = new JButton("Reset"); square1 = new JButton(); square2 = new JButton();

我正在尝试调整JButton的大小,使其始终保持一定的大小。我有9个这样的按钮。我从API中了解到,它JButton继承了setSize(intA,intB)和setSize(维度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);

我试过几个不同的维度,但没有一个有任何区别。我错过了什么?我正在为按钮所在的JPanel使用gridLayout(3,3,5,5)。J4机架的尺寸为(400425)。谢谢你的帮助

布局管理器通常不考虑组件的大小,因此设置大小通常影响不大。相反,布局管理器通常尊重组件的首选尺寸。话虽如此,通常最好不要尝试通过
setPreferredSize(维度d)
自己设置preferredsize,而是让布局管理器和组件为您设置。如果您必须自己做,请考虑扩展组件并重写<代码> GETAPYRESSIZE()/CUT>,并添加返回一个体面和适当的首选大小的智能代码。 例如,请在我对最近一个问题的回答中查看我的代码。在其中,我更改JButton字体的大小以使其更大,但我从未设置任何组件的大小或首选大小,而是让组件本身和容器的布局管理器为我完成这项工作


如果你不相信我的话,请阅读我所知道的最聪明、最有影响力的Swing程序员之一以及本书作者之一的一些帖子和评论。例如她的答案。

尝试使用
square1.setPreferredSize(d)
而不是
setSize(d)
您可以使用setBounds()方法,如下所示:

Frame f=new Frame();
f.setLayout(null);
Button b=new Button("Dummy");
//setBounds() methods accepts 4 
// integer parameters
/* 1. Location on x axis
2. Location on y axis
3. Width
4. Height */
b.setBounds(20,30,50,30);
f.add(b);
这就是设置按钮大小的方法 有更多的方法来指定大小,但我使用这个方法
希望这能帮助你……

谢谢你从积极的角度看待我之前的评论。两个大按钮的好策略。1) 大字体(或大图标)2)。