我正在使用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);
}
它有效。