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

用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條評論
主站蜘蛛池模板: 国产精品伦理 | 中文字幕二区 | 99精品热线在线观看免费视频 | 婷婷色中文字幕 | xxxx免费观看 | 久久久久久久久综合 | 久爱www成人网免费视频 | 女性下面全部视频免费 | 国产精品久久二区三区色裕 | 国产欧美日韩精品a在线观看 | 国产一二三区在线观看 | 精品国产一区二区三区四 | 亚洲精品色婷婷在线影院麻豆 | 欧洲性大片xxxxx久久久 | 欧美激情综合 | 69色视频日韩在线视频 | 一本到视频在线观看 | 久久久青青久久国产精品 | 一级片成人 | 久久天天躁狠狠躁夜夜2020一 | 激情综合色综合久久综合 | 国产欧美成人免费观看视频 | 婷婷春色 | 久久毛片视频 | 久操免费在线 | 国产精品久久久久久免费播放 | 国产伦久视频免费观看视频 | 手机看片日韩国产 | 亚洲综合日韩中文字幕v在线 | 四虎影视精品 | www深夜视频在线观看高清 | 国产四区 | 亚洲欧美日韩激情在线观看 | 免费永久欧美性色xo影院 | 99精品高清视频一区二区 | 羞羞视频网 | 亚洲精品一区二区三区香蕉在线看 | 久久国产小视频 | 午夜影院欧美 | 国产视频久久久久 | 炮房五月 |