不确定是否在JAVA中向JButton添加图标
我正试图制作一个棋盘,但我似乎不知道该把我的代码放在哪里,以便在按钮上添加一个棋子图标。事实上,我不确定这是正确使用代码还是在错误的地方 到目前为止,我的代码如下所示:不确定是否在JAVA中向JButton添加图标,java,swing,icons,jbutton,imageicon,Java,Swing,Icons,Jbutton,Imageicon,我正试图制作一个棋盘,但我似乎不知道该把我的代码放在哪里,以便在按钮上添加一个棋子图标。事实上,我不确定这是正确使用代码还是在错误的地方 到目前为止,我的代码如下所示: package gui; import java.awt.Color; import javax.swing.ImageIcon; import javax.swing.JButton; public class Square extends JButton implements Config { public
package gui;
import java.awt.Color;
import javax.swing.ImageIcon;
import javax.swing.JButton;
public class Square extends JButton implements Config {
public Square(int n) {
new ImageIcon("pawn.png");
setBackground(calcColor(n));
}
Color calcColor(int n) {
boolean everysecondSquare = (n % 2==0);
boolean everysecondRow = ((n / ROWS) % 2 == 0);
return (everysecondSquare != everysecondRow?P1Color:P2Color);
}
public ChessBoard ChessBoard;
}
我很确定在定义方块背景色的同一位置添加图标会起作用,但显然不起作用。显然,我对java编码非常陌生
我真的搞砸了吗?非常感谢所有反馈。如果需要更多关于代码的信息,请告诉我,我会尽快添加。试试这个。您需要实际设置按钮的图标
public Square(int n) {
setIcon(new ImageIcon("pawn.png"));
setBackground(calcColor(n));
}
JButton b = new Button(myIconObject)
myButtonObject.setIcon(myIconObject)
可以将带有构造函数的图标对象传递给按钮,也可以使用按钮的setIcon方法
public Square(int n) {
setIcon(new ImageIcon("pawn.png"));
setBackground(calcColor(n));
}
JButton b = new Button(myIconObject)
myButtonObject.setIcon(myIconObject)
请在此处查看文档:
编辑:
在本例中,您可以编辑构造函数的第一行以
public Square(int n) {
setIcon(new ImageIcon("pawn.png"));
setBackground(calcColor(n));
}
但是这意味着创建的每个方块都会有一个棋子图标。您最好将其移出构造函数,然后执行以下操作
Square s = new Square(n);
/* And then somewhere more appropriate ...*/
s.setIcon(new ImageIcon("pawn"));
谢谢你,加文!这就解决了:)