簡體   English   中英

用不同的圖像填充二維 JButton 數組

[英]fill a 2-dimensional JButton Array with different images

我正在我的游戲中制作一個小復活節彩蛋,這就是它的外觀 如果玩家點擊特定按鈕 5 次,則每個非黑色按鈕都會獲得不同的圖片。 到目前為止,我設法使它看起來像這樣,每個按鈕都有相同的圖片。

圖像代碼和更改每個按鈕的圖像是這樣的:

BufferedImage img = ImageIO.read(new File("kronk/18.png"));

for (int i = 0; i < buttons.length; i++) { //Goes one time through the complete Array
    for (int j = 0; j < buttons[i].length; j++) {

        if(buttons[i][j].getBackground() != Color.black) {
            buttons[i][j].setText("");
            buttons[i][j].setIcon(new ImageIcon(img));
        }
    }
}

到目前為止的代碼被硬編碼為始終顯示 18.png

圖像存儲在一個如下所示的文件夾中,其中 1.png 位於 Button 1 上,2.png 位於 2 上,依此類推...

用相應的圖像填充每個按鈕的最佳方法是什么?

嘗試這個:

for (int i = 0; i < buttons.length; i++) { //Goes one time through the complete Array
    for (int j = 0; j < buttons[i].length; j++) {
        if(buttons[i][j].getBackground() != Color.black) {
            BufferedImage img = ImageIO.read(new File("kronk/"+(i*5 + j + 1)+".png"));
            buttons[i][j].setText("");
            buttons[i][j].setIcon(new ImageIcon(img));
        }
    }
}

因為你有一個 5x5 數組i*5 + j會給你從 0 到 24 的元素計數。但是由於你的圖片的枚舉從一個開始,你必須在最后添加一個i*5 + j + 1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM