我有一个二维 JButton 数组,我想向每个按钮添加不同的图像。这些图像被命名为 1.jpg、2.jpg...
总共有 27 个按钮(3x9 网格),因此手动设置它们会很烦人。我尝试使用 ImageIcon 数组和 for 循环,但它不起作用。有人知道我的代码有什么问题吗?
void createButtons() {
JButton[][] buttons = new JButton[3][9];
for (int i = 0; i < buttons.length; i++) {
for (int j = 0; j < buttons[i].length; j++) {
buttons[i][j] = new JButton();
buttons[i][j].setIcon(addImages());
}
}
}
ImageIcon addImages() {
ImageIcon[] images = new ImageIcon[27];
for (int i = 0; i < images.length; i++) {
images[i] = new ImageIcon(i + ".jpg");
return images[i];
}
最佳答案
您的 addImages 方法将始终返回一个带有 0.jpg 的新图像图标。
您可以这样做:
void createButtons() {
JButton[][] buttons = new JButton[3][9];
int index = 1; //start from 1.jpg
for (int i = 0; i < buttons.length; i++) {
for (int j = 0; j < buttons[i].length; j++) {
buttons[i][j] = new JButton();
buttons[i][j].setIcon(new ImageIcon( (index++) + ".jpg"));
}
}
}
关于java - 在 2D JButton 阵列上添加图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34299196/