我只是将应用程序主题设置为Synthetica Alu Oxide,但由于某些原因,JFrame不会重新绘制,而另一个Synthetica主题将重新绘制JFrame。
这就是我的样子。
http://i.imgur.com/SOBDTs4.png
这就是它的样子。
http://www.jyloo.com/images/screenshots/syntheticaAluOxide/democenter2.png
public MainPanel() { JFrame frame = new JFrame(); frame.setTitle("Asteria 3.0 NPC Definition Editor"); try { UIManager.setLookAndFeel(new SyntheticaAluOxideLookAndFeel()); } catch (UnsupportedLookAndFeelException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } components(); frame.setJMenuBar(menuBar); JTabbedPane tab = new JTabbedPane(); tab.addTab("Information", informationTab()); tab.addTab("Bonuses", bonusTab()); tab.addTab("Animation", animTab()); tab.addTab("Property", propertiesTab()); tab.addTab("Miscellaneous", miscTab()); frame.getContentPane().add(tab); //frame.add(this); frame.setSize(500, 600); frame.setResizable(false); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); }
调用 后 , 仅 应在事件分发线程上构造和操作Swing GUI对象。 __UIManager.setLookAndFeel()
UIManager.setLookAndFeel()
try { UIManager.setLookAndFeel(new SyntheticaAluOxideLookAndFeel()); } catch (UnsupportedLookAndFeelException e) { e.printStackTrace(); } catch (ParseException e) { e.printStackTrace(); } EventQueue.invokeLater(new Runnable() { public void run() { JFrame frame = new JFrame(); … frame.pack(true); frame.setVisible(true); } });