我正在尝试通过整数调用标签。例如,如果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/