用javascript编写swing程序

4 篇文章 0 订阅
2 篇文章 0 订阅
原文地址: http://www.blogjava.net/pengo/archive/2010/12/25/341513.html Main.java import java.io.FileInputStream; import java.io.InputStreamReader; import javax.script.Invocable; import javax.script.ScriptEngine; import javax.script.ScriptEngineManager; import javax.swing.UIManager; public class Main { public static void main(String[] args) { try { UIManager .setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel"); ScriptEngineManager factory = new ScriptEngineManager(); // 指定脚本语言为javascript,engine支持很多种脚本语言 ScriptEngine engine = factory.getEngineByName("JavaScript"); // 告诉脚本引擎需要加载的脚本代码 InputStreamReader in = new InputStreamReader(new FileInputStream( "test.js")); engine.eval(in); Invocable inv = (Invocable) engine; inv.invokeFunction("main"); } catch (Exception e) { e.printStackTrace(); } } } 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); }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值