簡體   English   中英

具有圖標名稱的Java 2d數組

[英]Java 2d array with Icon names

我可以用這樣的圖標文件名填充2D數組嗎? 我收到錯誤提示

Type mismatch: cannot convert from String to Icon

所以問題是,是不可能用圖標文件名填充2D數組,還是我在這里犯了小錯誤? 我一直只在數組上得到錯誤。

 public Icon cards[][] = {{"Diamonds 2.png", "Diamonds 3.png", "Diamonds 4.png", "Diamonds 5.png", "Diamonds 6.png", "Diamonds 7.png", "Diamonds 8.png",
                "Diamonds 9.png", "Diamonds 10.png", "Diamonds JACK.png", "Diamonds QUEEN.png", "Diamonds KING.png", "Diamonds ACE.png"},
                {"Hearts 2.png", "Hearts 3.png", "Hearts 4.png", "Hearts 5.png", "Hearts 6.png", "Hearts 7.png", "Hearts 8.png",
                "Hearts 9.png", "Hearts 10.png", "Hearts JACK.png", "Hearts QUEEN.png", "Hearts KING.png", "Hearts ACE.png"},
                {"Clubs 2.png", "Clubs 3.png", "Clubs 4.png", "Clubs 5.png", "Clubs 6.png", "Clubs 7.png", "Clubs 8.png",
                "Clubs 9.png", "Clubs 10.png", "Clubs JACK.png", "Clubs QUEEN.png", "Clubs KING.png", "Clubs ACE.png"},
                {"Spades 2.png", "Spades 3.png", "Spades 4.png", "Spades 5.png", "Spades 6.png", "Spades 7.png", "Spades 8.png",
                "Spades 9.png", "Spades 10.png", "Spades JACK.png", "Spades QUEEN.png", "Spades KING.png", "Spades ACE.png"}};

我已經更改了數組名稱以進行檢查,也許當我使用它時,這會導致問題,但是沒有,它在數組上存在相同的錯誤。

正如其他人所說,您正在創建一個二維字符串數組。

因此,將2D數組定義更改為:

public String[][] cards = //...

然后,遍歷2D數組,並為每個字符串加載一個圖標:

Icon[][] icons = new Icon[cards.length][];
for(int i=0;i<cards.length;i++){
    icons[i] = new Icon[cards[i].length];
    for(int j=0;j<cards[i].length;i++){
        icons[i][j] = //load icon from cards[i][j];
    }
}

並使用icons 2D數組在注釋中提到的標簽上設置圖標。

暫無
暫無

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

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