简体   繁体   English

具有图标名称的Java 2d数组

[英]Java 2d array with Icon names

Do I can fill 2D array with icon file names like this? 我可以用这样的图标文件名填充2D数组吗? Im getting error that says 我收到错误提示

Type mismatch: cannot convert from String to Icon

So Question is, do imposible fill 2D array with icon file names, or I made small error here? 所以问题是,是不可能用图标文件名填充2D数组,还是我在这里犯了小错误? I keep getting error only on array. 我一直只在数组上得到错误。

 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"}};

I have changed array name to check, maybe when im using it, that cause problem, but no, its same error on array. 我已经更改了数组名称以进行检查,也许当我使用它时,这会导致问题,但是没有,它在数组上存在相同的错误。

As others have said, you are creating a 2D array of strings. 正如其他人所说,您正在创建一个二维字符串数组。

So, change your 2D array definition to: 因此,将2D数组定义更改为:

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

Then, iterate over your 2D array, and load an icon for each string: 然后,遍历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];
    }
}

And use the icons 2D array to set icons on your labels you mentioned in comments. 并使用icons 2D数组在注释中提到的标签上设置图标。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM