我为我的战舰游戏创建了一个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;
}
}
答案 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表。