grid=new JButton[width][length];
for(y=0;y<length;y++){
for(x=0;x<width;x++){
final Border border=new LineBorder(Color.red, 5);
grid[x][y]=new JButton(" ");
grid[x][y].addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
((JButton)e.getSource()).setBorder(border);;
System.out.println("Where do you want to move this piece");
}
});
frame.add(grid[x][y]);
}
}
grid[1][1]='R';
我试图获得网格的第一个位置,就像在鲁克一样说出字母R;我不确定如何在网格中标记特定的JButton。请帮助我...我正在尝试制作一个GUI国际象棋游戏。
答案 0 :(得分:4)
使用方法代替=
在Swing
grid[0][0].setText("R");
答案 1 :(得分:4)
这不会编译:
grid[1][1]='R';
因为您正在尝试将char分配给JButton。而是要理解网格包含JButton,并调用JButton方法:
grid[0][0].setText("R");
此外,您不想这样做:
System.out.println("Where do you want to move this piece");
组合println语句和GUI是一个坏主意(除非你正在调试)。相反,在JLabel中显示String。