【发布时间】:2018-09-21 17:03:53
【问题描述】:
我在 Eclipse 中使用 Java 11(或 Java 10)打开了一个旧版 Java (8) 项目。 Eclipse 现在正确地抱怨无法访问的包。例如。 com.apple.laf.AquaComboBoxUI.
从命令行编译时,我可以通过向javac 添加参数来显式访问这些包:
--add-exports java.desktop/com.apple.laf=ALL-UNNAMED
有没有办法在 Eclipse IDE 中做同样的事情?我试图在 JDK 库上添加一个可访问的规则。但这似乎没有任何效果。有什么想法吗?
是的,我知道,我们应该迁移项目以仅使用官方 API。但这是一个很长很长的路......
【问题讨论】:
-
UIManager.createLookAndFeel 是获取内置外观参考的有用方法。
-
@AlanBateman 你如何获得
UIManager.createLookAndFeel的必要名称?我只知道UIManager.getSystemLookAndFeelClassName(),适合UIManager.setLookAndFeel,但是createLookAndFeel似乎期待的是“名字”而不是类名……
标签: java eclipse legacy-code java-11