我将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());
不起作用。有人可以解决吗?
答案 0 :(得分:0)
org.icepdf.ri.viewer.Launcher类设置了在查看器jar中找到的Viewer RI的外观。这是一个较旧的类,但如果要覆盖它,则仍使用PropertiesManager。您可以使用:
preferences.put("application.lookandfeel", "javax.swing.plaf.metal.MetalLookAndFeel");
这是针对ICEpdf 6.3.x的,但是如果您使用的是较早版本,则可以使用与原始帖子类似的模式。该值可以是Swing的任何有效外观。
答案 1 :(得分:0)
我终于在代码的开头添加了:
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (ClassNotFoundException | InstantiationException | IllegalAccessException
| UnsupportedLookAndFeelException e) {
System.err.println("[ err. ] " + e);
}
它有效。