动态更改java中JLabel的名称

时间:2016-03-15 11:26:19

标签: java swing jlabel

我有一个Swing程序,我必须动态更改 JLabel 的名称。

2 个答案:

答案 0 :(得分:3)

JLabel是一个对象,您指定的名称数据类型将在Heap中分配的内存与对象self之间进行映射,如果要更改名称,则通过创建新对象重新分配对象,使用新的变量名称。

您可以使用馆藏

HashMap<String, JLabel> aWeirdLabelMap = new HashMap<String,JLabel>();
aWeirdLabelMap.put("anAlias0x00", new JLabel("myLabel1"));
aWeirdLabelMap.get("anAlias0x00");
另一种方式:

List<JLabel> jlabelList = new ArrayList<JLabel>();
        JLabel buf = null;
        for (int i = 0; i < 5; i++) {
            buf = new JLabel("label_" + i);
            buf.setName(Integer.toString(i));
            jlabelList.add(buf);
        }

        //later iterate or loop to find it
        JLabel c = null;
        for (JLabel jlabelList1 : jlabelList) {
            if (jlabelList1.getName().equalsIgnoreCase(Integer.toString(1))) {
                c = jlabelList1;
                System.out.println("JlabelFound -->" + c.getName() + c.getText());
            }
        }

答案 1 :(得分:3)

您可以在ActionListener中重命名组件,如下所示:

public void actionPerformed(ActionEvent ae) {
  myJLabel.setName("New JLabel Name");
}