如何设置按钮的大小?

10 浏览
0 Comments

如何设置按钮的大小?

我将我的按钮放在一个使用GridLayout的JPane中。然后我将JPanel放入另一个使用BoxLayout.Y_AXIS的JPanel中。我想让GridLayout中的按钮呈正方形。我使用tmp.setSize(30,30)但它不起作用。我还尝试使用new GridLayout(X, Y, 4, 4),但我无法弄清楚X和Y是什么。那么,正确的方法是什么呢?

添加:

我仍然无法解决这个问题。这是我尝试做的代码:

import javax.swing.*;
import java.awt.*;
public class PanelModel {
    public static void main(String[] args) {
        JFrame frame = new JFrame("Colored Trails");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        JPanel mainPanel = new JPanel();
        mainPanel.setLayout(new BoxLayout(mainPanel, BoxLayout.Y_AXIS));
        JPanel firstPanel = new JPanel();
        firstPanel.setLayout(new GridLayout(4, 4));
        JButton btn;
        for (int i=1; i<=4; i++) {
            for (int j=1; j<=4; j++) {
                btn = new JButton();
                btn.setPreferredSize(new Dimension(100, 100));
                firstPanel.add(btn);
            }
        }
        JPanel secondPanel = new JPanel();
        secondPanel.setLayout(new GridLayout(5, 13));
        for (int i=1; i<=5; i++) {
            for (int j=1; j<=13; j++) {
                btn = new JButton();
                btn.setPreferredSize(new Dimension(40, 40));
                secondPanel.add(btn);
            }
        }
        mainPanel.add(firstPanel);
        mainPanel.add(secondPanel);
        frame.add(mainPanel);
        frame.setSize(400,600);
        frame.setVisible(true);
    }
}

问题是Java试图使firstPanelsecondPanel的宽度相等!此外,Java还试图填充窗口的所有高度。如何去除这种行为?

0