我需要在JButton的左上角放置数字(2d数组)。但是,我得到的数字结果是错误的ordder(颠倒),而不是与数组topLeftNum顺序相同。如何使这个数字显示为相同的顺序?请帮我解决我的问题。谢谢
final int ROWS = 12;
final int COLS = 12;
final static int topLeftNum[][]= {
{-1, 1, 0, 2, 0, 0, 3, -1, 4, 0, 5, 0},
{6, 0, 0, 0, -1, -1, 0, -1, -1, -1, 0, -1},
{-1, 0, -1, 0, -1, 7, 0, 0, 8, -1, 0, -1},
{9, 0, 0, 0, 10, -1, -1, -1, 11, 0, 0, -1},
{0, -1, -1, 12, 0, 0, 13, -1, 0, -1, -1, -1},
{0, -1, 14, -1, 0, -1, 0, -1, 15, 0, 0, 16},
{17, 0, 0, 18, 0, -1, 19, 20, 0, -1, -1, 0},
{0, -1, 0, 0, -1, 21, 0, 0, 0, -1, -1, 0},
{22, 23, 0, 0, -1, 0, -1, 0, -1,24, 0, 0},
{-1, 0, -1, 25, 0, 0, -1, 0, -1, 0, -1, -1},
{26, 0, 0, -1, -1, 0, -1, 27, 0, 0, 0, -1},
{-1, -1, -1, -1, -1, 0, -1, 0, -1, 0, -1, -1}
};
public static void main(String[] args){
SwingUtilities.invokeLater(new Runnable() {
public void run(){
new Lat1();
}
});
}
public Lat1() {
//d = f.getText();
//answer = d.charAt(0);
this.getContentPane().setLayout(new GridLayout(ROWS, COLS));
for (int j=0; j<ROWS; j++) {
for (int i=0; i<COLS; i++) {
this.getContentPane().add(new Box(i, //the boxes index
(topLeftNum[j][i] < 0) ? Color.BLACK : Color.WHITE, //pick the color
topLeftNum[j][i], //the topleft number
(char)(65+i), //the char inside
this), //the action listener for the button
i); //the index to place it on the container
}
}
this.pack();
this.setVisible(true);
}
答案 0 :(得分:2)
ⅰ); //将其放在容器上的索引
这一行是问题所在,删除“i”并且工作正常。