是否可以在不修改实际环境中的程序的情况下更改 Java 外观?
我知道理论上答案是肯定的。我还创建了演示应用程序,并在运行时更改了外观和感觉,并且效果很好。但是当我创建一个带有很多控件的真实应用程序时,外观变化并没有真正起作用:
- 不同的外观有不同的错误(或奇怪的功能)。例如,其中一些为 JTextField 和 JFormattedTextField 创建相同的样式,其中一些使用不同的样式。这种变化对用户来说可能很烦人。
- 控件大小不一样(使用不同的字体,不同的边框),所以有时候改变后的窗口看起来很难看。
- 键盘快捷键也可以不同。
- ...
在外观更改后的应用程序中(实际上,我尝试使用具有不同皮肤的相同外观而不是更改外观)我总是必须修改应用程序。不是很大的修改,但是很多小的修改使得外观和感觉的改变变得困难。
我只是对我尝试的外观(目前使用skinlf)非常不走运,还是外观变化不像小型演示应用程序那样容易?
更新:我正在使用 Swing 并且现在无法更改为其他 GUI 库。
UPDATE2:在我看来,这个问题并不清楚。我确实知道如何改变外观。我的问题是:是否有可能创建一个真正的应用程序,其中更改外观(或外观的皮肤)是一件容易的事?目前,如果我更改外观,仅更改 2 或 3 行是不够的,我必须审查整个应用程序并修复相当多由外观更改引起的问题。dhiller 建议用更好的外观替换 skinlf。你能告诉我皮肤替换效果更好的可换肤外观吗?