現在JAVA語言在世界上非常流行其應用涉及電子商務INTERNET網上數據庫CGI及多媒體等各個方面年月SUN公司宣布了最新版的JAVA SDK 為新世紀的JAVA奠定基礎
JAVA是一種面向對象的程序設計語言(OOP)它是一種類C++的語言由於JAVA消除了C/C++麻煩的內存管理和一些復雜的構造如多繼承等JAVA的應用要比C++容易得多況且JAVA的運行速度已與C++差不多(據美國有關部門測算)還有那跨軟硬件平台和一次編譯多次運行的機制怎能不讓程序員心動呢?
JAVA運行有兩種形式小程序(APPLET)和應用程序(APPLICATION)為了簡化起見本文只對應用程序進行探討小程序是在JAVA原程序經編譯無誤後嵌入到HTML後經IE或NC等浏覽器使用的形式我們在後面將給出應用程序(APPLICATION)實例來
用過VC++VBDELPHI和POWERBUILDER的朋友都知道用這些軟件設計GUI(GRAPHICS USER INTERFACE)圖形界面非常容易只需用鼠標拖拽控件即可幾乎不用寫什麼代碼JAVA問世後也有許多著名大公司為JDK(JAVA以前的版本叫做JDKJAVA Developer Kit)開發了集成GUI開發環境軟件如MICROSOFT的Visual J++Borland的JBuilder Symantec的Cafe Visual Cafe 等等雖然這些產品支持GUI界面開發程序較易但也明顯存在著以下這些不足之處
) 其JAVA版本滯後於SUN公司的最新版本
) 帶來兼容性問題由於各家開發自己的類庫文件如MS用自己的WFC類庫造成無法與事實上的JAVA標准SUN公司的JAVAJDK(SDK)和JFC(JAVA FOUNDATION CLASSES)相兼容產生難以跨越平台等缺點
) 控件文件龐大編譯和運行較慢運行文件也較大
) 開發環境價高有些產品不能善始善終半路夭折使用戶處於被動局面而SUN的JAVAJFC等均是免費提供的有SUN公司龐大的技術力量保證
由於上述原因現在在國際上已流行Pure JAVA即純JAVA技術也就是說只用SUN公司的JAVA JDK JFC(GUI類庫類似AWT但有著比AWT更強大的功能又稱為SWING既搖擺)來開發程序其實只要了解JAVA的編程原理及JDK和功能強大的JFC(SWING) 我們就可編寫出具有專業水平的GUI界面的程序來
下面筆者以一個程序為例來介紹如何編寫具有純JAVA的程序該程序的關鍵語句都有解釋
import javaawt*;
import javaawteventWindowAdapter;
import javaawteventWindowEvent;
import comsunjavaswing*;
public class myGUI extends comsunjavaswingJFrame {
//此處設置環境常量如字體顏色等略去
comsunjavaswingJPanel MainPanel;
comsunjavaswingJPanel TopPanel;
comsunjavaswingJButton ClearButton;
comsunjavaswingJButton SearchButton;
comsunjavaswingJTextField SearchText;
//構造器對setMenu() 和 setGUI()數椐和調用的初始化和實例化
public myGUI(){
super(Ideal GUI);
addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){ dispose(); Systemexit();}}); //創建窗口事件
setMenu();
setGUI();
}
protected void ClearButtonClicked(){
Systemoutprintln(Clear Button Clicked);
SearchTextrequestFocus();
SearchTextselectAll();
} //處理ClearButton按鈕事件子程序
protected void SearchButtonClicked(){
Systemoutprintln(Search Button Clicked);
SearchTextrequestFocus();
SearchTextselectAll();
} // 處理SearchButton按鈕事件子程序
class ButtonAction implements javaawteventActionListener {
public void actionPerformed(javaawteventActionEvent event) {
Object object = eventgetSource();
if (object == ClearButton)
ClearButtonClicked();
else if(object == SearchButton)
SearchButtonClicked();
} // end public void actionPerformed(
} //監聽事件的發生如按鈕的按下鼠標的按動等轉向相應的處理
public void setGUI(){
TopPanel=new comsunjavaswingJPanel(); //TopPanel面板
javaawtGridBagLayout TopLayout = new javaawtGridBagLayout();
TopPanelsetLayout(TopLayout);
ClearButton = new comsunjavaswingJButton(Clear); //ClearButton按鈕
SearchText = new comsunjavaswingJTextField(Enter text here); //SearchText文本框
SearchButton = new JButton(Search); //SearchButton按鈕
TopPaneladd(SearchText);//在TopPanel上安裝SearchText文本框
TopPaneladd(SearchButton); ///在TopPanel上安裝SearchButton按鈕
TopPaneladd(ClearButton);// 在TopPanel上安裝ClearButton按鈕
MainPanel = new comsunjavaswingJPanel();//主面板MainPanel
javaawtGridBagLayout MainLayout = new javaawtGridBagLayout();
MainPanelsetLayout(MainLayout);
javaawtGridBagConstraints MainConstraints = new javaawtGridBagConstraints();
SetConstraints(MainConstraints GBCBOTHTOPPANELXTOPPANELY); //TopPanel
MainLayoutsetConstraints(TopPanelMainConstraints);
MainPaneladd(TopPanel);//將TopPanel裝入主面板MainPanel
thisgetContentPane()add(MainPanel); //將主面板裝入Jframe框架
thissetSize(); //設置顯示大小可在程序中更改
thissetVisible(true); //設置可顯示
SearchTextrequestFocus();//文本框聚焦(選中)
SearchTextselectAll();
ButtonAction BAction = new ButtonAction();
ClearButtonaddActionListener(BAction);//將按鈕加入到活動監聽器中
SearchButtonaddActionListener(BAction);
}
public static void main(String args[]){
myGUI mGUI = new myGUI();
} //啟動主程序
JAVA的GUI界面是由一系列嵌入組件組成的它使用了JDK和JFC(SWING)組件本例首先建立框架(JFRAME)在上面再建一個主面板(MAINPANEL)再往下建立一個子面板(TOPPANEL)然後將兩個按鈕和一個文本框插入到子面板中這是一個典型的OOP實例 在程序分別捕捉到兩個按鈕的按動後並顯示按鈕信息後再選取文本框中的內容這個軟件經擴充可加入更多的子面板和更多更復雜的組件(如JTABLE表格或JTREE樹)注意這個myGUIjava文件可用任何文本編輯軟件編輯以純文本方式存盤JFC的組件比AWT的組件更美觀同樣的按鈕JFC的好看並能進行更多的設置
在安裝好JAVA (JDK)和JFC(SWING或更高版本這些系統可在有關網站下載)後即可在WINDOWS的DOS方式下編譯和運行文件了
先對文件進行編譯
javac myGUIjava
如無錯誤可用下面命令運行文件
java myGUIclass
此時就可以看到一幅漂亮的界面
From:http://tw.wingwit.com/Article/program/Java/gj/201311/27609.html