在 Java 中,我只对一个 JComponent(及其 children)使用不同的 LookAndFeel
In Java I use a different LookAndFeel for just a single JComponent (and its children)
在Java我用
UIManager.setLookAndFeel(
UIManager.getSystemLookAndFeelClassName()
获得系统外观
但是我使用的是 JTable,在 Windows 和 Windows LAF 以及 OSX 和 OSX LAF 上有问题,所有问题看起来都已解决如果我只使用
UIManager.getCrossPlatformLookAndFeelClassName();
是否可以让我的 JTable 和它包装的 JScrollPane 使用 跨平台 外观而不影响其他任何东西。
如果是这样,这真的是个坏主意吗?
我遇到的问题是
Windows,列 Header 渲染几乎与常规无法区分
table 个细胞
OSX,单元格背景颜色与面板背景相同
OSX,table 个单元格之间没有网格线。
组件的 LAF 在创建组件时确定。
所以你可以尝试这样的事情:
- 设置临时 LAF
- 创建组件并将它们添加到框架中。
- 恢复 LAF
And if so is this a really bad idea ?
不确定是否存在隐藏问题。
在Java我用
UIManager.setLookAndFeel(
UIManager.getSystemLookAndFeelClassName()
获得系统外观
但是我使用的是 JTable,在 Windows 和 Windows LAF 以及 OSX 和 OSX LAF 上有问题,所有问题看起来都已解决如果我只使用
UIManager.getCrossPlatformLookAndFeelClassName();
是否可以让我的 JTable 和它包装的 JScrollPane 使用 跨平台 外观而不影响其他任何东西。
如果是这样,这真的是个坏主意吗?
我遇到的问题是
Windows,列 Header 渲染几乎与常规无法区分 table 个细胞
OSX,单元格背景颜色与面板背景相同
OSX,table 个单元格之间没有网格线。
组件的 LAF 在创建组件时确定。
所以你可以尝试这样的事情:
- 设置临时 LAF
- 创建组件并将它们添加到框架中。
- 恢复 LAF
And if so is this a really bad idea ?
不确定是否存在隐藏问题。