繁体   English   中英

Java - 在 JDialog/JFrame 上调用 Component#setName

[英]Java - Calling Component#setName on JDialog / JFrame

我想知道在Window子类上调用setName是否是个好主意。 我注意到,例如一个对话框的默认名称为dialog0 这些名称对 Swing 内部结构有任何重要意义吗? 如果是这样,我是在显示窗口之前还是之后设置名称有关系吗? name的 getter/setter 的 javadoc 没有显示任何有用的信息。

我们的想法是覆盖这些名称,以便为不包含用户数据的窗口获得更通用的名称。 通常我会使用putClientProperty东西,但由于Windows扩展了Component ,而不是JComponent ,这是不可能的。

通常我会使用类似 putClientProperty 的东西,但由于 Windows 扩展了 Component 而不是 JComponent,这是不可能的。

您可以使用JFrameJRootPane 它确实扩展了JComponent

JRootPane rootPane = frame.getRootPane();
rootPane.putClientProperty(...);

这将为您提供与框架关联的唯一组件。

有关 Swing 窗口的一般结构,请参见如何使用根窗格

这些名称对 Swing 内部结构有任何重要意义吗?

不是我所知道的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM