1、创建XML文件(如: demo.xml)
2、在XML中实现各种组件的重新绘制.
3、在程序的开始,把新样式synth应用到程序,如:
try {
//创建一个SynthLookAndFeel类
SynthLookAndFeel synth = new SynthLookAndFeel();
//导入对应配置(xml)
synth.load(SynthFrame.class.getResourceAsStream("demo.xml"),
SynthFrame.class);
//把SynthLookAndFeel应用到程序
UIManager.setLookAndFeel(synth);
} catch (Exception ex) {
ex.printStackTrace();
}
附件是网上的例子
出现的异常:
java.lang.IllegalArgumentException: You must supply an InputStream, StyleFactory and Class or URL
at javax.swing.plaf.synth.SynthParser.parse(SynthParser.java:211)
at javax.swing.plaf.synth.SynthLookAndFeel.load(SynthLookAndFeel.java:590)
at com.demo.synth.demo1.SynthFrame$1.run(SynthFrame.java:36)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:199)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
表示XML文件找不着,有可能是XML的路径错误或者XML没有编译到Class对应路径下或者其他原因。
异常:
java.text.ParseException: Error parsing: org.xml.sax.SAXException: ID background has not been defined null
at javax.swing.plaf.synth.SynthParser.parse(SynthParser.java:230)
at javax.swing.plaf.synth.SynthLookAndFeel.load(SynthLookAndFeel.java:590)
at com.demo.synth.demo1.SynthFrame$1.run(SynthFrame.java:36)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:199)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
表示在xml中ID为background的对象没有创建,或者它对应类的路径错误。
1428

被折叠的 条评论
为什么被折叠?



