java - Java - 在 JDialog / JFrame 上调用 Component#setName
问题描述
我想知道setName
调用Window
. 我注意到,例如一个对话框具有默认名称dialog0
。这些名称对 Swing 内部结构是否重要?如果是这样,我在显示窗口之前或之后设置名称是否重要?getter/setter 的 javadocname
没有显示任何有用的东西。
想法是覆盖这些名称,以便为不包含用户数据的窗口获取更通用的名称。通常我会使用类似的东西putClientProperty
,但是由于Windows
extends Component
,而不是JComponent
,这是不可能的。
解决方案
通常我会使用 putClientProperty 之类的东西,但由于 Windows 扩展了 Component,而不是 JComponent,所以这是不可能的。
您可以使用JRootPane
. JFrame
它确实扩展了JComponent
。
JRootPane rootPane = frame.getRootPane();
rootPane.putClientProperty(...);
这将为您提供与框架关联的独特组件。
有关 Swing 窗口的一般结构,请参阅如何使用根窗格。
这些名称对 Swing 内部结构是否重要?
不是我知道的。
推荐阅读
- java - 无法使用 Intellij 或命令行运行 VisualVM
- c# - 调用枚举状态以正确更改,但它没有改变 c# unity
- c# - 为什么这段代码用long替换float?
- python - Amazon cdk 管道部署返回 KMS 400
- ios - 如何在 iOS 14 中检查本地网络权限?
- android - Qt Android SQLite:没有这样的表
- c++ - 具有相同默认模板参数的继承
- javascript - Jquery通过2类
- c# - ASP.NET 5 Web 项目中的 Entity Framework Core - 自动生成 LINQ 过滤器查询
- nanoframework - Nanoframework ESP32 OneWire 引脚