如何随机重命名按钮。 Java的

时间:2014-07-24 15:54:24

标签: java

我为我的战舰游戏创建了一个10x10网格。我的所有按钮都被命名为数字,我怎么想让它们按顺序从A1到J10命名,我无法理解我需要做什么。

public class Center_Panel extends JPanel {

    public Center_Panel() {
        this.setLayout(new GridLayout(1, 2, 10, 10));
        JPanel panel1 = new JPanel(new GridLayout(10, 10));
        panel1.setBackground(Color.BLUE);

        for (int i = 0; i < 10; i++) {
         for (int j = 0; j < 10; j++) {
         JButton button = new JButton(Integer.toString(i + +j));
         panel1.add(button);
         button.addActionListener (new ActionListener()
         {
             @Override
             public void actionPerformed(ActionEvent e){

            }});
         //GridCellP1 [i][j] = button;   
         }

         }

2 个答案:

答案 0 :(得分:0)

使用char-datatype,您可以使用++运算符遍历:

public Center_Panel() {
    this.setLayout(new GridLayout(1, 2, 10, 10));
    JPanel panel1 = new JPanel(new GridLayout(10, 10));
    panel1.setBackground(Color.BLUE);

    char c = 'A';
    for (int i = 0; i < 10; i++) {    
        for (int j = 0; j < 10; j++) {
           JButton button = new JButton(c + "" + j);
           panel1.add(button);
           button.addActionListener (new ActionListener() {
               @Override
               public void actionPerformed(ActionEvent e){

               }});
           //GridCellP1 [i][j] = button;   
        }
        c++;
    }
}

答案 1 :(得分:0)

使用char类型值,您可以添加或减去其ASCII值以更改其值。

例如,

char c = 'a';
c++;  // c now equals b

但是,如果您无法通过索引访问它们,可以采用两种不同的方式。

方式1:

使用数组存储所有值!

char[] array = {'a','b, 'c'...,'z'}

// now you can access by index
char c = array[3];
// c equals the value of d 

方式2:

构造一个按字母表中的位置输出char的方法。

// starting number of the alphabet is 0 (because i'm a programmer.) :D
private char getChar(int value){
    return value + 65;
}

此链接将帮助您理解ASCII表。

http://www.asciitable.com/