什么java.awt.Component.getName()
用于?它总是出现null
在我使用NetBeans构建的应用程序中.我想在每个组件中存储一些帮助文本 - 我不想使用工具提示,我有另一个面板,我将显示帮助文本.
Component.setName(..)在JDK中主要由外观实现类用于为每个组件设置类似ID的字符串,例如,BasicOptionPaneUI可以在按钮组件上调用它以将其名称设置为"OptionPane.button".
当在复合/父组件内以及AWT和Swing调试日志代码中设置子组件的名称时,getName()用于toString()方法.我强烈怀疑某些AWT/Swing测试框架也使用了getName()方法.
因此,如果您不依赖于getName()的任何上述用法,您可以尝试将其用于帮助消息,但我不建议使用它.
也许你应该重新考虑你的设计?使用该名称在哈希映射中进行一些查找,该哈希映射从资源包中加载帮助文本?
我还没有看到它被框架用于任何东西.如果您将组件传递给方法,那么它很有用,因此您可以询问其名称以决定如何处理它们.此外,许多UI测试框架使用它来允许您在测试脚本中按名称引用组件.我没有看到任何理由你不能用它来帮助文本.