JButtons标签网格

时间:2013-09-13 20:32:24

标签: java swing grid jbutton chess

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国际象棋游戏。

2 个答案:

答案 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。