【发布时间】:2010-03-30 14:41:28
【问题描述】:
代码如下:
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,没有人强迫你回答我的问题。有些人有问题,有些人准备回答这个问题。这些人可以找到共同的语言和合作方式。如果您不明白它为什么起作用,请不要参与其中。并且不要打扰其他人。
-
我了解它的工作方式。你做一些研究,当你遇到问题时,你会发布一个寻求帮助的问题。我们不是来为您阅读的。只要你努力,我们就会努力。
标签: java user-interface swing size jbutton