狠狠爱成人网_日韩一级在线_国产综合自拍_亚洲精品韩国_亚洲视频导航_麻豆成人在线播放_欧美jjzz_一区在线视频观看_美脚丝袜一区二区三区在线观看_欧美91视频

當前位置:系統之家 > 技術開發教程 > 詳細頁面

用Java迅速開發Linux GUI應用

用Java迅速開發Linux GUI應用

更新時間:2024-04-09 文章作者:未知 信息來源:網絡 閱讀次數:

摘要:
Linux系統在近幾年發展神速,但是由于其GUI應用程序開發方法及其標準不統一導致開發效率低,界面不友好。而Java語言是一種極具潛力的多平臺應用軟件開發工具,在Linux平臺上用Java開發GUI應用的技術目前國內仍極少使用。本文將對該方法的細節、特點及其意義作詳細論述。
關鍵詞:
Linux、開放源代碼、GUI、Java、組件、容器、布局管理器

1、為什么要用Java開發Linux GUI應用
1.1 Linux GUI應用開發現狀
  目前Linux操作系統在市場上呈現一種"叫好不叫座"的局面,在一定的程度上與在其上運行的好用的應用程序數量太少有著的密切的關系。盡管能在Linux上運行的應用程序已經很多,但大多數都較難安裝與使用,而且很多不是很穩定。
  要改善Linux應用程序的易用性,大量采用GUI(圖形用戶界面)是一個必然的趨勢。但是目前Linux平臺GUI應用程序的開發仍然不太容易。盡管有不少的開放源碼開發工具在極力增強其GUI應用程序開發能力,但是由于標準不統一、資料太少等原因很難推廣。Kylix等商業開發工具盡管具有大公司的技術實力支撐,但由于價格等因素也難以很快推廣。這種局面不盡快打破,Linux的應用就不可能得到很快的普及。
綜上所述,目前Linux應用軟件開發領域急需一種容易學習、成本低、效率高的GUI應用程序開發方法。
1.2 Java的特點
  自1995年Sun Microsystem推出Java語言以來,Java語言與Java技術均得到了飛速的發展。因其強大的網絡功能、良好的跨平臺特性、較高的開發效率成為國內外軟件開發領域的一種強大工具。
  目前Java程序已經能運行在從Windows系列、Unix系列、Mac OS系列到Linux等幾乎所有操作系統平臺上,而且特別重要的是它已經能做到"一次編寫,到處運行";另一方面,與C++等傳統程序設計語言相比,用Java來開發GUI應用程序的難度已經大大降低;加上Java語言所具有的純面向對象、網絡功能強大等特性,使得Java非常適于用來編制應用軟件。
1.3 用Java開發Linux GUI應用的優點
  正由于Java語言的特點以及Linux操作系統的發展現狀,使得用Java語言來開發Linux平臺GUI應用程序成為了一種很好的方法。
  一方面,用Java語言在Linux平臺上開發GUI應用程序對于習慣了在Windows平臺上用Java編程的程序員來說無須改變編程習慣。因為Java有良好的跨平臺特性,在Linux下編程與在Windows下編程沒什么兩樣,如果用純Java編程,則程序中使用的類、屬性、方法等等都不用改變,甚至還可以在Windows下編輯、編譯好Java程序再直接移植到Linux下執行。
  另一方面,由于在Linux平臺上存在大量的優秀的開放源代碼軟件開發工具,包括用于Java程序開發的如NetBeans等工具,這樣如果在Linux平臺上用這些開放源代碼軟件開發工具進行Java軟件開發,其所需的成本可以比在Windows下進行開發低得多。當然在Linux下也存在像Borland Jbuilder、IBM Visual Age等商業Java軟件開發工具,它們都具有強大的功能、完備的文檔,更有利于在Linux上進行Java軟件開發。
2、用Java開發Linux GUI應用的基本方法
2.1 開發環境的安裝與配置
*JDK的安裝
  要Linux平臺上開發Java應用,最基本的方式需要下載一個JDK,這是由Sun公司免費提供的一個Java軟件開發包。下載得到的文件一般形如j2sdk1.3-linux.rpm.bin,首先將其拷貝到合適的目錄(如/usr/src或/usr/local等)下,執行./j2sdk1.3-linux.rpm.bin,會產生一個j2sdk1.3-linux.rpm文件,這是一個典型的RPM軟件包,再用RPM軟件包管理工具就可直接安裝JDK,在安裝過程中會提示許可信息,同意其協議就可很順利地安裝了。
*路徑的配置
  為了做到在任意路徑下均可直接執行Java編程相關命令,需要修改/etc/profile文件,在其中設置路徑。具體方法是在其中加入這樣一行:
PATH="$PATH/usr/jdk1.3"
這里/usr/jdk1.3是JDK的安裝路徑。
2.2 基本開發過程
①編輯源程序
  在Linux下有很多優秀的程序編輯器軟件,例如在控制臺下有著名的Emacs、vi、jed等,在X window下有Xemacs、gedit、kedit等,這些軟件通常都有語法著色、自動縮進等非常適合于程序編輯的功能。要在Linux系統下開發Java程序,首先需要用這些編輯器編輯Java源程序。至于具體用哪種編輯器要依個人的喜好而定,反正可用的軟件很多。
②編譯源程序
  正確的編輯好Java源程序后,需要對其進行編譯,以生成字節碼文件。假定源程序文件名為Test.java,則可用如下形式:
javac Test.java
③調試運行程序
  執行守編譯命令后,對于源程序中的每一個類,系統將產生一個字節碼文件,文件名為對應的類名,而其擴展名為class。一般地,每一個Java程序中應該有一個主類,該類是整個程序的入口。開發Java程序的下一步就是調試運行,仍以上面提到的情況為例,運行該Java程序的方法為:
java Test
事實上解釋器將解釋執行Test.class文件并按其中的調用解釋執行其它字節碼文件。
2.3 基本開發方法
其實無論在什么平臺下,GUI應用程序的基本開發方法都是相似的。一般都包括下面這樣四個步驟:
①創建容器
  首先要創建一個GUI應用程序,需要創建一個用于容納所有其它GUI組件元素的載體,Java中稱為容器。典型的包括窗口(Window)、框架(Frame/JFrame)、對話框(Dialog/JDialog)、面板(Panel/JPanel)等。只有先創建了這些容器,其它界面元素如按鈕(Button/JButton)、標簽(Label/JLabel)、文本框(TextField/JTextField)等才有地方放。
②添加組件
  為了實現GUI應用程序的功能,為了與用戶交換,需要在容器上添加各種組件/控件。這需要根據具體的功能要求來決定用什么組件。例如,如果需要提示信息,可用標簽(Label/JLabel);如果需要輸入少量文本,可用文本框(TextField/JTextField);如果需要輸入較多文本,可用文本區域(TextArea/JTextArea);如果需要輸入密碼,可用密碼域(JPasswordField)等等。
③安排組件
  與傳統的Windows環境下的GUI軟件開發工具不同,為了更好地實現跨平臺,Java程序中各組件的位置、大小一般不是以絕對量來衡量,而是以相對量來衡量。例如有時候,程序的組件的位置是按"東/East"、"西/West"、"南/South"、"北/North"、"中/Center"這種方位來標識的。因此,在組織界面時,除了要考慮所需的組件種類外,還需要考慮如何安排這些組件的位置與大小。這一般是通過設置布局管理器(Layout Manager)及其相關屬性來實現的。事實上上述按方位來安排組件就是采用了Java中多種布局管理器里的BorderLayout布局管理器。
④處理事件
  為了完成一個GUI應用程序所應具備的功能,除了適當地安排各種組件產生美觀的界面外,還需要處理各種界面元素事件,以便真正實現與用戶的交換,完成程序的功能。在Java程序中這一般是通過實現適當的事件監聽者接口來完成的。比如如果需要響應按鈕事件,就需要實現ActionListener監聽者接口;如果需要響應窗口事件,就需要實現WindowListener監聽者接口。
3、開發實例
  下面是一個在Linux下用Java開發GUI應用程序的實例。該程序的主要功能是提供一個用于輸入用戶名與密碼以登錄到某一系統的界面,如果用戶輸入相關信息后單擊"登錄"按鈕,系統將在窗口的下半部分顯示所輸入的用戶名與密碼信息,如果單擊"退出"按鈕,程序將停止運行。如下圖1所示:








  本程序沒有提供很強的功能,目的只在于介紹在Linux上用Java編寫GUI應用程序的基本方法。以下是程序的源代碼,其中的注釋說明了GUI應用具體的創建步驟:

//以下三行用于引入添加組件、設置布局管理器及處理事件所需的軟件包
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
//下行說明主類派生自JFrame/框架類,要實現ActionListener接口以處理動作事件
class LoginFrame extends JFrame implements ActionListener {
//以下四行用于聲明要加到框架窗口中的所有組件
JLabel UserLabel,PasswordLabel,UserResult,PasswordResult;
JTextField User;
JPasswordField Password;
JButton LoginButton,ExitButton;
public LoginFrame() {
super("登錄");//調用父類構造方法,設置窗口標題
setSize(300,200);//設置窗口大小
getContentPane().setLayout(new GridLayout(5,2,10,10));//設置布局管理器,將窗口分成5行2列,行、列間保留10個像素的空白
//以下8行具體創建組件實例
UserLabel=new JLabel("用戶名稱:");
PasswordLabel=new JLabel("用戶密碼:");
UserResult=new JLabel(" ");
PasswordResult=new JLabel(" ");
User=new JTextField(10);
Password=new JPasswordField(10);
LoginButton=new JButton("登錄");
ExitButton=new JButton("退出");
//以下兩行設置用于保存結果的標簽的前景色屬性
UserResult.setForeground(Color.blue);
PasswordResult.setForeground(Color.blue);
//以下兩行為"登錄"按鈕與"退出"按鈕注冊監聽者
LoginButton.addActionListener(this);
ExitButton.addActionListener(this);
//以下八行將所有組件加入到框架窗口中
getContentPane().add(UserLabel);
getContentPane().add(User);
getContentPane().add(PasswordLabel);
getContentPane().add(Password);
getContentPane().add(LoginButton);
getContentPane().add(ExitButton);
getContentPane().add(UserResult);
getContentPane().add(PasswordResult);
//以下一行用于窗口事件監聽者注冊
addWindowListener(new WindowManager());
setVisible(true);//使框架窗口變為可見
}
//以下函數用于處理按鈕動作事件
public void actionPerformed(ActionEvent evt)
{
if(evt.getSource()==LoginButton)//表明按下了"登錄"按鈕
{
UserResult.setText("用戶名稱:"+User.getText());
PasswordResult.setText("用戶密碼:"+Password.getPassword());
}
else
if(evt.getSource()==ExitButton)//表明按下了"退出"按鈕
{
dispose();
System.exit(0);
}
}
//以下為系統主函數,是程序的入口
public static void main(String args[]) {
LoginFrame mainFrame = new LoginFrame();//創建框架窗口實例
}
}
class WindowManager extends WindowAdapter//窗口事件監聽者類
{
public void windowClosing(WindowEvent evt)//本方法用于窗口關閉事件
{
JFrame frame=(JFrame)(evt.getSource());
frame.dispose();
System.exit(0);
}
}
4、總結
用Java語言來開發Linux平臺的圖形用戶界面應用程序,容易理解、容易學習、環境要求低、開發效率高,而且開發出來的應用程序可移植性好,可以直接移植到其它平臺上運行而不會發生多大變化。這對于快速開發Linux GUI應用軟件,豐富Linux平臺應用軟件的種類,增強Linux應用軟件功能,從而更好地普及Linux系統的應用都有巨大的推動作用。
[參考文獻]
《21天學通Java2》 [M] Laura Lemay、 Rogers Cadenhead著,瀟湘工作室譯,人民郵電出版社2001年5月出版

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

狠狠爱成人网_日韩一级在线_国产综合自拍_亚洲精品韩国_亚洲视频导航_麻豆成人在线播放_欧美jjzz_一区在线视频观看_美脚丝袜一区二区三区在线观看_欧美91视频
欧美国产成人精品| 国产精品嫩草久久久久| 午夜在线播放视频欧美| 亚洲国产精品久久久久久女王| 94-欧美-setu| 99久久伊人精品| 91视视频在线直接观看在线看网页在线看| 国产一区在线观看视频| 国产精品综合视频| 国产成人av电影| 成人深夜视频在线观看| 欧美一区1区三区3区公司| 欧美福利在线| 亚洲日韩视频| 久久一区视频| 欧美日韩三级视频| 日韩欧美精品在线| 国产三级三级三级精品8ⅰ区| 中文字幕电影一区| 亚洲黄色av一区| 免费欧美在线视频| 国产91在线看| 欧美日韩视频| 国产一区二区三区免费不卡| 久久青草久久| 日韩欧美综合在线| 国产精品视频观看| 水蜜桃久久夜色精品一区的特点| 久久99精品久久久久久久久久久久| 国产精品一二三| 欧美日韩综合网| 日韩精品最新网址| 欧美激情一二三区| 亚洲一区二区三区四区在线免费观看| 日本sm残虐另类| av网站一区二区三区| 亚洲精品乱码久久久久久蜜桃麻豆| 久久一区二区三区超碰国产精品| 欧美大肚乱孕交hd孕妇| 亚洲天天做日日做天天谢日日欢 | 一本不卡影院| 欧美日韩aaa| 中文字幕在线不卡一区二区三区| 婷婷激情综合网| 欧美在线免费| 欧美在线免费视屏| 中文字幕不卡三区| 久久电影网站中文字幕| 欧美在线观看天堂一区二区三区| 色综合久久六月婷婷中文字幕| 日韩午夜电影在线观看| 亚洲一区二区黄色| 99re6这里只有精品视频在线观看| 一区二区免费在线视频| 欧美大胆人体bbbb| 婷婷六月综合网| 欧美日韩国产成人精品| 欧美影院一区二区| 亚洲人被黑人高潮完整版| 国产在线播放一区三区四| 99视频精品免费观看| 精品国产一二三| 日韩不卡一区二区三区| 国产精品www.| 欧美videos大乳护士334| 天天操天天干天天综合网| 欧美激情1区| 91精品国产一区二区三区蜜臀| 一区二区高清视频在线观看| 91美女片黄在线观看91美女| 欧美亚洲禁片免费| 一二三四社区欧美黄| 欧美激情1区| 精品国产亚洲在线| 国产麻豆精品theporn| 色先锋久久av资源部| 亚洲美女淫视频| 欧美日韩在线播放一区二区| 4438成人网| 精品一区二区三区日韩| 色偷偷久久人人79超碰人人澡 | 99久久精品国产观看| 日韩一区国产二区欧美三区| 九九国产精品视频| 一本一本大道香蕉久在线精品| 亚洲欧美日韩国产成人精品影院| 91在线观看美女| 久久女同性恋中文字幕| 国产91在线观看丝袜| 日韩一区二区三区免费观看| 麻豆国产欧美日韩综合精品二区| 亚洲欧美日韩视频二区| 一区二区三区日韩在线观看| 韩国自拍一区| 国产精品久久久久精k8| 欧美1区3d| 国产精品系列在线| 91美女在线观看| 国产精品人人做人人爽人人添| 欧美一区三区二区在线观看| 久久亚洲免费视频| 91丨九色丨黑人外教| 国产亚洲精品超碰| 国产一区自拍视频| 国产精品久久久一本精品| 欧美视频观看一区| 亚洲美女区一区| 国产精品一卡| 日韩黄色免费电影| 4438x亚洲最大成人网| 国产成人精品在线看| 精品国产网站在线观看| 欧美阿v一级看视频| 亚洲欧洲成人av每日更新| 一区二区三区|亚洲午夜| 午夜精品久久久久久不卡8050| 在线观看视频91| 国产伦精品一区二区三区在线观看| 欧美一级理论片| 欧美日韩精选| 亚洲二区在线视频| 欧美性色黄大片| 99精品在线免费| 亚洲欧美另类综合偷拍| 午夜宅男久久久| 国产酒店精品激情| 国产欧美精品区一区二区三区 | 国产精品国产三级国产专播品爱网 | heyzo一本久久综合| 亚洲国产精品ⅴa在线观看| 99亚洲一区二区| 青草av.久久免费一区| 日韩欧美色电影| 亚洲精品美女久久7777777| 奇米四色…亚洲| 精品福利在线导航| 亚洲激情另类| 韩国毛片一区二区三区| 国产欧美一区二区精品婷婷| 久久高清免费观看| 成人午夜激情片| 亚洲电影视频在线| 欧美一级片免费看| 日韩一区二区免费看| 久草精品在线观看| 亚洲人吸女人奶水| 91精品在线麻豆| 日韩亚洲不卡在线| 成人理论电影网| 亚洲不卡一区二区三区| 欧美精品一区二区三区高清aⅴ | 99av国产精品欲麻豆| 国模一区二区三区白浆| 综合自拍亚洲综合图不卡区| 欧美日韩视频在线第一区 | 亚洲另类黄色| 大白屁股一区二区视频| 亚洲资源在线观看| 国产丝袜在线精品| 欧美日韩电影一区| 99国产精品久久久久老师| 国产91在线|亚洲| 日韩电影在线观看网站| 国产精品久久久久精k8| 日韩视频国产视频| 色婷婷久久久综合中文字幕| 韩国av一区| av网站一区二区三区| 卡一卡二国产精品 | 国产精品香蕉一区二区三区| 亚洲一区二区三区激情| 国产欧美一区二区精品秋霞影院| 欧美日韩国产综合一区二区三区| 日韩一级大片| 欧美ab在线视频| 成人一区二区三区视频| 蜜臀av亚洲一区中文字幕| 亚洲激情第一区| 中文字幕av资源一区| 日韩一级二级三级精品视频| 色婷婷综合久久久中文字幕| 99av国产精品欲麻豆| 好吊色欧美一区二区三区视频| 成a人片国产精品| 东方欧美亚洲色图在线| 久久机这里只有精品| 爽好久久久欧美精品| 午夜激情久久久| 亚洲五码中文字幕| 亚洲免费观看高清完整版在线| 欧美激情一区在线观看| 久久久久久久久久久黄色| 精品国产乱码久久久久久1区2区 | 伊人精品在线| 亚洲成色www久久网站| 韩国精品一区二区三区| 欧美日韩国产成人精品| 欧美系列一区| 激情欧美日韩| 国内自拍一区|