java - 在 2D JButton 阵列上添加图像

标签 java arrays

我有一个二维 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/

相关文章:

java - EditText 上的“完成”按钮的监听器?

java - 在有序列表中查找最接近的值

java - 数组不断将列表循环中的相同值添加到所有索引

Javascript:附加到键的值,其中该值是一个列表

c - 将指针存储在指针数组中时遇到问题

arrays - 在 Swift 中使用 for in 循环附加数组的最佳方法是什么?

java - 存储和使用逐行读取的数据

java - Log4j 性能和对象创建

java - 日历不能正常工作

java - 随机 "shaking"一个数组来分配新的随机点