我把我的按鈕與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試圖使firstPanel
和secondPanel
相等的寬度!而且,Java試圖填充窗口的所有高度。我怎樣才能消除這種行爲?
我試過這段代碼。有用。但是,如果我嘗試在我的程序中實現相同的想法,它不起作用。我認爲,原因是我包括我的JPanel(與GridLayout)到另一個JPanel(與BoxLayout.Y_AXIS)。@Roman – Roman 2010-03-29 11:31:24
如果你想要更具體的幫助,你需要發佈一些示例代碼! – Kris 2010-03-29 12:17:08
按要求,我發佈了代碼。 – Roman 2010-03-29 12:20:26