Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 有没有更好的方法来添加大量附加到阵列的具有唯一图像的JPanel?_Java_Swing_Jpanel - Fatal编程技术网

Java 有没有更好的方法来添加大量附加到阵列的具有唯一图像的JPanel?

Java 有没有更好的方法来添加大量附加到阵列的具有唯一图像的JPanel?,java,swing,jpanel,Java,Swing,Jpanel,我有一整套卡片作为图像,我需要: 加载为JPanels和 b显示在JFrame中 有没有更好的方法让他们进入我的程序,然后一遍又一遍地写这样的东西 final JPanel panelName = draw(new ImageIcon("spritesheet.gif")); 每个图像spritesheet.gif都有一个唯一的名称。这是一副牌 这是抽签 每个图像都有一个唯一的名称 只要他们有某种模式,这就很容易。例如,spades-queen.gif可以由一个数组字符串[]的套装、一个级别数

我有一整套卡片作为图像,我需要: 加载为JPanels和 b显示在JFrame中

有没有更好的方法让他们进入我的程序,然后一遍又一遍地写这样的东西

final JPanel panelName = draw(new ImageIcon("spritesheet.gif"));
每个图像spritesheet.gif都有一个唯一的名称。这是一副牌

这是抽签

每个图像都有一个唯一的名称

只要他们有某种模式,这就很容易。例如,spades-queen.gif可以由一个数组字符串[]的套装、一个级别数组、一个-来分隔它们&最后是一个.gif

它们的格式像黑桃,等等

下面是一个实现:

public class CardNames {
    public final static String[] SUITS = {
        "Spades", "Hearts", "Diamonds", "Clubs"
    };
    public final static String[] LEVELS = {
        "ace", "two", "three", "four", "five", "six", "seven", "eight", "nine",
        "ten", "jack", "queen", "king"
    };
    public final static String SEP = "";
    public final static String XTN = ".gif";

    public static void main(String[] args) {
        for (String suit : SUITS) {
            for (String level : LEVELS) {
                System.out.println(level + SEP + suit + XTN);
            }
        }
    }
}
输出
使用带有图标的JLabel。请参阅Swing教程,了解为什么一组面板与一组JLabel对象相对,而这些对象可以分别保存图像的图像图标?每个图像都有一个唯一的名称。我应该在专栏里这么说,但是回到唯一的名字。好的,它们是独一无二的,但它们是否有某种模式,例如,spades-queen.gif可以由一组串[]套衣服和一组关卡组成,a-将它们分开&最后是a.gif……谢谢@andrewhompson,这真是太聪明了。它们的格式类似于aceSpades等等。非常感谢,我实际上是根据你之前的评论实现的,它工作起来很有魅力。我真的很感激,我一直在为这件事喋喋不休。很高兴我能帮上忙,你现在可以继续做更多有趣的事情了
public class CardNames {
    public final static String[] SUITS = {
        "Spades", "Hearts", "Diamonds", "Clubs"
    };
    public final static String[] LEVELS = {
        "ace", "two", "three", "four", "five", "six", "seven", "eight", "nine",
        "ten", "jack", "queen", "king"
    };
    public final static String SEP = "";
    public final static String XTN = ".gif";

    public static void main(String[] args) {
        for (String suit : SUITS) {
            for (String level : LEVELS) {
                System.out.println(level + SEP + suit + XTN);
            }
        }
    }
}
aceSpades.gif
twoSpades.gif
threeSpades.gif
fourSpades.gif
fiveSpades.gif
sixSpades.gif
sevenSpades.gif
eightSpades.gif
nineSpades.gif
tenSpades.gif
jackSpades.gif
queenSpades.gif
kingSpades.gif
aceHearts.gif
// ...
aceClubs.gif
twoClubs.gif
threeClubs.gif
fourClubs.gif
fiveClubs.gif
sixClubs.gif
sevenClubs.gif
eightClubs.gif
nineClubs.gif
tenClubs.gif
jackClubs.gif
queenClubs.gif
kingClubs.gif