test.js脚本代码
importPackage(javax.swing);
importPackage(javax.swing.border);
importPackage(java.awt.event);
importClass(java.lang.System);
var contentPane;
var messagePane;
var sentPane;
var button_1;
function main(){
var frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setBounds(100, 100, 542, 506);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
frame.setContentPane(contentPane);
contentPane.setLayout(null);
messagePane = new JTextPane();
messagePane.setContentType("text/html");
messagePane.setEditable(false);
var scrollPane1 = new JScrollPane(messagePane);
scrollPane1.setBounds(10, 10, 506, 290);
contentPane.add(scrollPane1);
sentPane = new JEditorPane();
var scrollPane = new JScrollPane(sentPane);
scrollPane.setBounds(10, 320, 506, 110);
contentPane.add(scrollPane);
var button = new JButton("关闭");
button.addActionListener(
new JavaAdapter(
ActionListener, {
actionPerformed : function(event){
System.exit(0);
}
}
)
);
button.setBounds(388, 435, 58, 27);
contentPane.add(button);
button_1 = new JButton("发送");
button_1.setEnabled(false);
button_1.setBounds(458, 435, 58, 27);
contentPane.add(button_1);
var button_2 = new JButton("配置");
button_2.setBounds(10, 431, 52, 30);
contentPane.add(button_2);
var button_3 = new JButton("登录");
button_3.setBounds(69, 433, 52, 30);
contentPane.add(button_3);
frame.setVisible(true);
}
importPackage(javax.swing.border);
importPackage(java.awt.event);
importClass(java.lang.System);
var contentPane;
var messagePane;
var sentPane;
var button_1;
function main(){
var frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setBounds(100, 100, 542, 506);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
frame.setContentPane(contentPane);
contentPane.setLayout(null);
messagePane = new JTextPane();
messagePane.setContentType("text/html");
messagePane.setEditable(false);
var scrollPane1 = new JScrollPane(messagePane);
scrollPane1.setBounds(10, 10, 506, 290);
contentPane.add(scrollPane1);
sentPane = new JEditorPane();
var scrollPane = new JScrollPane(sentPane);
scrollPane.setBounds(10, 320, 506, 110);
contentPane.add(scrollPane);
var button = new JButton("关闭");
button.addActionListener(
new JavaAdapter(
ActionListener, {
actionPerformed : function(event){
System.exit(0);
}
}
)
);
button.setBounds(388, 435, 58, 27);
contentPane.add(button);
button_1 = new JButton("发送");
button_1.setEnabled(false);
button_1.setBounds(458, 435, 58, 27);
contentPane.add(button_1);
var button_2 = new JButton("配置");
button_2.setBounds(10, 431, 52, 30);
contentPane.add(button_2);
var button_3 = new JButton("登录");
button_3.setBounds(69, 433, 52, 30);
contentPane.add(button_3);
frame.setVisible(true);
}
运行效果:

效果还不错吧!
只要把规则定义好,java(swing/swt)程序也可以像QT一样,定义一套类似QML的界面描述语言,方便开发中的界面设计。