站内搜索: 请输入搜索关键词

当前页面: 开发资料首页Java 专题java中的Synth外观

java中的Synth外观

摘要: java中的Synth外观

</td> </tr> <tr> <td height="35" valign="top" class="ArticleTeitle"> java中的Synth外观
Synth,它是一个完整的外观,而不是一个主题,它针对的并不是程序员,而是界面设计人员,让他们不必掌握Java 知识便能够进行相应界面的选择定制。采用了Synth 后,我们不能从现有外观或主题派生子类、修改字体或颜色,而是通过转载不同的XML 文件以达到对相应界面的控制。其实现步骤包括将程序外观设置成Synth 模式以及编辑相对应的XML 文件。
设置Synth外观模式,可以使用以下代码:

<table width="677" border="0"> <tr> <td width="395"> SynthLookAndFeel synth = new SynthLookAndFeel();

Class aClass = SynthTest.class;

InputStream is = aClass.getResourceAsStream("file1.xml");

synth.load(is, aClass);

UIManager.setLookAndFeel(synth);

对于XML 中的大多数事情来说,文件的内容由文档类型定义(DTD)描述。只要在XML文件中描述组件,然后把文件传给SynthLookAndFeel 实例的load() 方法,应用程序的外观就会有所不同。以下是XML 控制程序外观的代码:
</td> <td width="272" align="center"> </td> </tr> </table>
<?xml version="1.0" encoding="ISO-8859-1"?>





以下附上Synth 的演示代码SynthTest.java,与其相对应的XML 文件可选用上面的示例代码,将其更名为synth.xml 即可:

import java.io.InputStream;
import java.text.ParseException;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.UIManager;
import javax.swing.plaf.synth.SynthLookAndFeel;
public class SynthTest{
private static void createGUI(){
SynthLookAndFeel synth = new SynthLookAndFeel();
try {
Class classA = SynthTest.class;
InputStream in = classA.getResourceAsStream("synth.xml");
if (in == null) {
System.err.println("Unable to find theme configuration");
System.exit(-1);
}
synth.load(in, classA);
} catch (ParseException e) {
System.err.println("Unable to load theme configuration");
System.exit(-2);
}

try {
UIManager.setLookAndFeel(synth);
} catch (javax.swing.UnsupportedLookAndFeelException e) {
System.err.println("Unable to change look and feel");
System.exit(-3);
}

JFrame frame = new JFrame("Test Synth");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JButton button = new JButton("Hello Synth");
frame.add(button);
frame.setSize(400, 200);
frame.setVisible(true);

}

public static void main(String[] args){
javax.swing.SwingUtilities.invokeLater(new Runnable(){
public void run() {
createGUI();
}
});
}

}</td> </tr> <tr>


↑返回目录
前一篇: Java所支持的语言及相应的版本信息
后一篇: 用几行代码实现排序