在 Java 中更改 ICEPDF 的外观和感觉



我正在使用IcePDF作为PDF查看器,PropertiesManager我可以启用/禁用功能,例如:

SwingController controller = new SwingController();
PropertiesManager properties = new PropertiesManager(System.getProperties(),
ResourceBundle.getBundle(PropertiesManager.DEFAULT_MESSAGE_BUNDLE));
properties.setBoolean(PropertiesManager.PROPERTY_SHOW_UTILITY_PRINT, false);
properties.setBoolean(PropertiesManager.PROPERTY_SHOW_TOOLBAR_ANNOTATION, false);
properties.setBoolean(PropertiesManager.PROPERTY_SHOW_UTILITYPANE_ANNOTATION, false);
properties.setBoolean(PropertiesManager.PROPERTY_SHOW_TOOLBAR_ROTATE, false);
properties.setBoolean(PropertiesManager.PROPERTY_SHOW_UTILITY_SAVE, false);
properties.setBoolean(PropertiesManager.PROPERTY_SHOW_TOOLBAR_FIT, false);
SwingViewBuilder factory = new SwingViewBuilder(controller, properties);

但是我想更改Windows的外观和感觉,一个简单的UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());不起作用。有人可以有解决方案吗?

classorg.icepdf.ri.viewer.Launcher 设置查看器 RI 的外观和感觉,该外观位于查看器 jar 中。这是一个较旧的类,但如果要覆盖它,它仍然使用属性管理器。 您可以使用:

preferences.put("application.lookandfeel", "javax.swing.plaf.metal.MetalLookAndFeel");

这适用于ICEpdf 6.3.x,但如果您使用的是早期版本,则可以使用与原始帖子类似的模式。 该值可以是 Swing 的任何有效外观。

我终于在代码的开头添加了:

try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (ClassNotFoundException | InstantiationException | IllegalAccessException
| UnsupportedLookAndFeelException e) {
System.err.println("[ err. ] " + e);
}

它有效。

最新更新