java - 通过 ID 查找 Swing 组件?

标签 java swing

是否可以通过某种查找方法获取对 swing 对象的引用??

为每个 UI 元素保留大量实例变量似乎太过分了

即有点像 JavaScript 中的完成方式:

JTextArea ta = new JTextArea();
ta.setId("myJTextArea");
....
....
....
JTextArea ta = window.getElementById("myJTextArea");
ta.setTexT("blah");

PS. 我不是为哥伦比亚号航天飞机编写软件。这是一个快速而肮脏的项目,因此最佳实践不适用。谢谢。

最佳答案

private static Component getComponentById(Container container, String componentId){

        if(container.getComponents().length > 0)
        {
            for(Component c : container.getComponents())
            {
                if(componentId.equals(c.getName()))
                {
                    return c;
                }
                if(c instanceof Container)
                {
                    return getComponent((Container) c, componentId);
                }
            }
        }

        return null;

    }

关于java - 通过 ID 查找 Swing 组件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5032762/

相关文章:

java - 如何返回数组的特定元素?

需要 Java GroupLayout 验证设计和对齐帮助

java - JFileChooser 在 Mac 中不显示窗口

java - 如何使用泛型限制接受某些用户定义的类对象的方法?

java - 删除后如何重新打开 Netbeans 项目?

java - 无法找到 ServletContext 中定义的名为 XXX 的 bean 的类 XXX

java - Swing 布局管理器 : Maintaining uniform buttonSize while filling the whole horizontal space

java - 这个正弦源代码有什么问题?

java - 如何使用 JTable 设置 JScrollPane 以自动调整内容

Java - JSlider 自定义但加载时,它不显示相同的样式,它是如何预期的