下面是代碼:爲什麼setPreferredSize不會改變按鈕的大小?
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class TestGrid {
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 panel = new JPanel();
panel.setLayout(new GridLayout(4, 9));
panel.setMaximumSize(new Dimension(9*30-20,4*30));
JButton btn;
for (int i=1; i<=4; i++) {
for (int j=1; j<=4; j++) {
btn = new JButton();
btn.setPreferredSize(new Dimension(30, 30));
panel.add(btn);
}
btn = new JButton();
btn.setPreferredSize(new Dimension(30, 10));
panel.add(btn);
for (int j=1; j<=4; j++) {
btn = new JButton();
btn.setPreferredSize(new Dimension(30, 30));
panel.add(btn);
}
}
mainPanel.add(panel);
frame.add(mainPanel);
frame.setSize(450,950);
frame.setVisible(true);
}
}
我想有按鈕的表4行9列。中間欄應該比其他欄更窄。我試過Dimension(30, 10)
和Dimension(30, 10)
都沒有影響中間列的寬度。爲什麼?
閱讀教程。您已經多次提供了Swing教程的鏈接。這在「如何使用網格佈局」教程中有明確的說明。用這些問題退出論壇,直到你做了一些基本的閱讀。現在是最近幾天與佈局經理有關的7個問題。令我難以置信的是,人們繼續回答這些問題,特別是當你不接受答案時。 – camickr 2010-03-30 16:09:42
@camickr,沒有人強迫你回答我的問題。有些人有問題,有些人已經準備好回答這個問題。這些人可以找到共同的語言和合作的方式。如果你不明白它爲什麼起作用,那就不要參與其中。別打擾別人。 – Roman 2010-04-01 13:40:50
我瞭解它的工作方式。你做了一些研究,當你遇到問題時,你會發問詢問。我們不在這裏爲你做閱讀。如果您付出努力,我們將努力。 – camickr 2010-04-01 15:07:04