java - 动态更改java中JLabel的名称

标签 java swing jlabel

我有一个 Swing 程序,我必须在执行 block 的操作中动态更改 JLabel 的名称。

最佳答案

JLabel是一个对象,你为该数据类型分配的名字会使得分配在Heap中的内存和对象自身之间发生映射,如果你想改变名字,那么通过创建一个新的对象重新分配对象, 有一个新的变量名。

您可以使用集合

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());
            }
        }

关于java - 动态更改java中JLabel的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36009967/

相关文章:

java - 将 jtoolbar 从一个 jpanel 转移到另一个 jpanel

java - 如何使 Orca 屏幕阅读器可以访问 Java swing 应用程序?

java - 更改 MouseRelease 事件上的 JLabel 背景

java - 在面板中居中 JLabel

Java - Tree 是 Node 的一个实例吗?

Java快速数组列表

java - 为什么分配 'int constant -> byte variable' 有效,但 'long constant -> int variable' 无效?

java - 为什么我在尝试解析 .docx 文件时遇到异常?

java - 为什么这么多 Java 教科书都有不使用 runnable 的 Swing 示例?

java - JLabel 中的 HTML 未正确显示