以下代码使用GridLayout
列出了JLabels。 GridLayout
的参数如下:行,列,水平间隙,垂直间隙。在下面的例子中,我在标签之间垂直和水平方向都有3个像素的间隙。
要使用图像而不是数字,您可以将ImageIcon
传递给JLabel的构造函数而不是文本。
但是,它看起来像你做一个游戏,用户应该能够点击瓷砖。这表明,你也许应该使用的按钮,而不是标签,但它给你:-)出现
import java.awt.GridLayout;
import javax.swing.*;
import javax.swing.border.BevelBorder;
public class FrameTest {
public static void main(String[] args) {
final JFrame f = new JFrame("Frame Test");
JPanel panel = new JPanel(new GridLayout(4, 4, 3, 3));
for (int i = 0; i < 16; i++) {
JLabel l = new JLabel("" + i, JLabel.CENTER);
//JLabel l = new JLabel(new ImageIcon("image_file.png"), JLabel.CENTER);
l.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED));
l.setFont(l.getFont().deriveFont(20f));
panel.add(l);
}
f.setContentPane(panel);
f.setSize(200, 200);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
}
}
这个问题是题外话,因为链接的图像消失。 – kay 2014-10-20 16:45:11