java - 在 Swing 外观中覆盖单个 UI

标签 java swing look-and-feel

有没有办法用自定义组件覆盖单个 UI 组件的 L&F(不是它的单个实例,而是所有实例)?基本上我想覆盖它的 L&F 默认值。

看起来所有这些都在 BasicLookAndFeel#getDefaults 中设置好了

我想如果我真的需要的话,我可以创建一个自定义外观来扩展我想使用的外观并在 initClassDefaults 中覆盖它。方法,但我更希望能够覆盖当前正在使用的任何 UI。

我在想我可以做UIManager.put(<ui_class_id>,<my-delegate-classname>)

这似乎不适用于我正在处理的示例,但这可能是因为我试图设置一个不属于标准外观的组件(该组件会自行添加)。我正在尝试弄清楚这是否是正确的方法。

最佳答案

啊,问题是我忘了执行 createUI在我的用户界面中。一旦我这样做了,我就可以调用 UIManager.put(<ui_class_id>,<my-delegate-classname>)它奏效了。

关于java - 在 Swing 外观中覆盖单个 UI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9488500/

相关文章:

java - Java Web 服务如何处理 HTTP 请求?

java - 字符串键在 L&F 中的位置

java - Java Petstore 2.0 蓝图

java - RabbitMqListener 没有正确监听相同的路由键

Java重写父类equals方法

java - 如何使用 JMenu 项在 JTextArea 中的单独行上显示整数?

Java Swing 自动从表单中收集数据

java - JButton 不工作[捕获网络流量]

java - 添加到 JPanel 时 JScrollPane 未调整大小

java - LAF java 对 root 的工作方式不同