2013-03-15 90 views
0

我想制作一个棋盘(8x8网格)并用背景方块填充它,但它始终显示为空方格网格。该图像被称为emptysquare.jpg,但它具有背景色。使图像显示在JButton

如何正确地将图像添加到网格上的JButton我有?

回答

2

的原因,你的棋盘是空的是由于你打电话JFrame#setVisible前加入您的ChessSquare按钮到面板上的事实。在进行此呼叫之前,确保已添加所有组件。

还设置Icon像这样ChessSquare

ImageIcon empty = ... 
setIcon(empty); 
+0

我已经移动了下面的这些命令,但网格仍然只是空白的方块。 – user2079483 2013-03-15 22:42:29

+0

你需要在你的'ChessSquare'类中调用'setIcon' – Reimeus 2013-03-15 22:46:25

+0

我知道这是一个愚蠢的问题,但是setIcon会怎样? – user2079483 2013-03-15 22:55:57

1

你需要调用setIcon(empty)在构造函数。

在添加正方形之前,可以使用setVisible(),但如果这样做,您可能需要重新包装以获得正确的布局。

在循环之前必须调用setLayout()

+0

我已经做了这些更改,但方块仍然是空白的。我需要给setIcon加上什么吗? – user2079483 2013-03-15 22:50:27