亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

用javascript編寫swing程序

系統(tǒng) 2527 0

在QT上可以使用QML語言來描述界面,而QML使用的腳本語言是javascript,不過咱們做java程序的也能使用javascript來開發(fā) swing的界面。在jdk1.6中已經(jīng)帶有Mozilla Rhino 的 JavaScript 腳本引擎,下面用javascript編寫上一編 基于郵件服務(wù)器的聊天測試http://www.blogjava.net/pengo/archive/2010/12/11/340303.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( " 關(guān)閉 " );
????button.addActionListener(
????????????
new ?JavaAdapter(
????????????????????ActionListener,?{
????????????????????????actionPerformed?:?function(event){
????????????????????????????System.exit(
0 );
????????????????????????}
????????????????????}
????????????)
????);
????button.setBounds(
388 ,? 435 ,? 58 ,? 27 );
????contentPane.add(button);
????
????button_1?
= ? new ?JButton( " 發(fā)送 " );
????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 );
}?


運(yùn)行效果:
用javascript編寫swing程序

效果還是跟以前一樣帥,

只要把規(guī)則定義好,java(swing/swt)程序也可以像QT一樣,定義一套類似QML的界面描述語言,方便開發(fā)中的界面設(shè)計(jì)。

用javascript編寫swing程序


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會(huì)非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产福利在线观看视频 | 日韩一区二区视频 | 国产97在线观看 | 亚洲国产aaa毛片无费看 | 一级毛毛片 | 888米奇四色极速在线观看 | 久久久毛片免费全部播放 | 曰本女人色黄网站 | 久久久精品成人免费看 | 狠狠干狠狠色 | 免费特黄一级欧美大片在线看 | 亚洲精品国产综合久久一线 | 一区二区三区在线 | 老扒夜夜春宵粗大好爽aa毛片 | a毛片视频免费观看影院 | 免费一级大毛片a一观看不卡 | 国产性大片黄在线观看在线放 | 九九在线偷拍视频在线播放 | 99ri国产| 免费高清a毛片 | 伊人久久在线视频 | 亚洲国产精品成人综合久久久 | 99国产高清久久久久久网站 | 中文视频| 久久婷婷激情综合中文字幕 | 日本一级毛片在线播放 | 亚洲综合网站久久久 | 色综合合久久天天综合绕视看 | 狠狠丁香激情久久综合 | 亚洲精品91 | 成人私人影院www片免费高清 | 成人激情免费视频 | 在线观看www成人影院 | 精品一久久香蕉国产线看观看下 | 中文一区在线观看 | 天天拍夜夜拍 | 99在线观看免费 | 欧美日韩99 | 成人午夜在线观看 | 色综久久| 99久久综合狠狠综合久久一区 |