java - 有没有办法通过整数调用JLabel

标签 java jlabel imageicon

我正在尝试通过整数调用标签。例如,如果N = 1,则返回label,如果N = 2,则返回label2。我尝试过使用 Map 但我无法正确思考。

Map<Integer, String> box = new HashMap();
{
        box.put(1, "label");
        box.put(2, "label2");

}

    JLabel label = new JLabel();
    ImageIcon image1 = new ImageIcon("BlackKnight.png");
    label.setIcon(image1);

    JLabel label2 = new JLabel();
    ImageIcon image2 = new ImageIcon("BlackBishop.png");
    label2.setIcon(image2);    

尝试给出伪代码:

输入N

输出第N个标签名称

最佳答案

您可以使用 Map<Integer, JLabel>

Map<Integer, JLabel> map = new Hashmap<>();

JLabel first = new JLabel("I'm first");
JLabel second = new JLabel("I'm second");

map.put(1, first);
map.put(2, second);

// Will print all the texts from the JLabels
for (JLabel j : map) {    
   System.out.println(j.getText());
}
<小时/>

我个人会使用List<JLabel>因为列表是有序的。

关于java - 有没有办法通过整数调用JLabel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36207787/

相关文章:

java - 为什么显示.GIF 图像不断增加内存?

Java JPanel 和 JLabel

java - 我们可以有虚假中断吗?

java - Eclipse调试中如何找到Wildfly的源码

java - 为什么我在 Selenium 中收到 "The type is deprecated"错误?

java - Spring 行为模拟

java - 图像图标不显示

Java错误: 'Throw new Exception not Supported'

java - 如何多次更改 JLabel 文本?

java - 有没有办法在 jbutton 上设置图像而不在构造函数中设置它?