亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

如何設計出具有GUI特色的純JAVA程序

2019-11-18 13:02:53
字體:
來源:轉載
供稿:網友

  現在java語言在世界上非常流行,其應用涉及電子商務,INTERNET網上數據庫,CGI及多媒體等各個方面。1999年12月SUN公司公布了最新版的JAVA2 SDK, 為新世紀的JAVA奠定基礎。
  
    JAVA是一種面向對象的程序設計語言(OOP)。它是一種類C++的語言,由于JAVA消除了C/C++麻煩的內存治理和一些復雜的構造,如多繼續等,JAVA的應用要比C++輕易得多,況且JAVA的運行速度已與C++差不多(據美國有關部門測算)。還有那跨軟硬件平臺和一次編譯,多次運行的機制,怎能不讓程序員心動呢?
  
    JAVA運行有兩種形式:小程序(APPLET)和應用程序(application),為了簡化起見,本文只對應用程序進行探討,小程序是在JAVA原程序經編譯無誤后嵌入到Html后經IE或NC等瀏覽器使用的形式,我們在后面將給出應用程序(APPLICATION)實例來。
  
    用過VC++,VB,Delphi和PowerBuilder的朋友都知道用這些軟件設計GUI(GRAPHICS USER INTERFACE)圖形界面非常輕易,只需用鼠標拖拽控件即可,幾乎不用寫什么代碼。JAVA問世后,也有許多聞名大公司為JDK(JAVA2以前的版本叫做JDK,JAVA Developer Kit)開發了集成GUI開發環境軟件,如MICROSOFT的Visual J++,Borland的JBuilder, Symantec的Cafe, Visual Cafe 等等,雖然這些產品支持GUI界面,開發程序較易,但也明顯存在著以下這些不足之處:
  1) 其JAVA版本滯后于SUN公司的最新版本。
  2) 帶來兼容性問題,由于各家開發自己的類庫文件,如MS用自己的WFC類庫,造成無法與事實上的JAVA標準SUN公司的JAVA,JDK(SDK)和JFC(JAVA FOUNDATION CLASSES)相兼容,產生難以跨越平臺等缺點。
  3) 控件文件龐大,編譯和運行較慢,運行文件也較大。
  4) 開發環境價高,有些產品不能“善始善終”,半路夭折,使用戶處于被動局面。而SUN的JAVA,JFC等均是免費提供的,有SUN公司龐大的技術力量保證。
  
    由于上述原因,現在在國際上已流行“Pure JAVA"即“純”JAVA技術,也就是說只用SUN公司的JAVA, JDK, JFC(GUI類庫,類似AWT,但有著比AWT更強大的功能,又稱為SWING既“搖擺”)來開發程序。其實只要了解JAVA的編程原理,及JDK和功能強大的JFC(SWING), 我們就可編寫出具有專業水平的GUI界面的程序來。
  下面筆者以一個程序為例,來介紹如何編寫具有“純”JAVA的程序。該程序的要害語句都有解釋:
  
  import java.awt.*;
  import java.awt.event.WindowAdapter;
  import java.awt.event.WindowEvent;
  import com.sun.java.swing.*;
  public class myGUI extends com.sun.java.swing.JFrame {
  //此處設置環境常量,如:字體,顏色等略去。
      com.sun.java.swing.JPanel MainPanel;
    com.sun.java.swing.JPanel TopPanel;
  com.sun.java.swing.JButton ClearButton;
  com.sun.java.swing.JButton SearchButton;
  com.sun.java.swing.JTextField SearchText;
  //構造器:對setMenu() 和 setGUI()數椐和調用的初始化和實例化
  public myGUI(){
  super("Ideal GUI");
  addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){ dispose(); System.exit(0);}}); //創建窗口事件
  setMenu();
  setGUI();
  }
  
  PRotected void ClearButtonClicked(){
  System.out.println("Clear Button Clicked");
  SearchText.requestFocus();
  SearchText.selectAll();
  } //處理ClearButton按鈕事件子程序
  
  protected void SearchButtonClicked(){
  System.out.println("Search Button Clicked");
  SearchText.requestFocus();
  SearchText.selectAll();
  } // 處理SearchButton按鈕事件子程序
  
  class ButtonAction implements java.awt.event.ActionListener {
  public void actionPerformed(java.awt.event.ActionEvent event) {
  Object object = event.getSource();
  if (object == ClearButton)
  ClearButtonClicked();
  else if(object == SearchButton)
  SearchButtonClicked();
  } // end public void actionPerformed(...
  } //監聽事件的發生,如按鈕的按下,鼠標的按動等,轉向相應的處理。...
  
  public void setGUI(){
  TopPanel=new com.sun.java.swing.JPanel(); //TopPanel面板
  java.awt.GridBagLayout TopLayout = new java.awt.GridBagLayout();
  TopPanel.setLayout(TopLayout);
  ClearButton = new com.sun.java.swing.JButton("Clear"); //ClearButton按鈕
  SearchText = new com.sun.java.swing.JTextField("Enter text here."); //SearchText文本框
  SearchButton = new JButton("Search"); //SearchButton按鈕
  TopPanel.add(SearchText);//在TopPanel上安裝SearchText文本框
  TopPanel.add(SearchButton); ///在TopPanel上安裝SearchButton按鈕
  TopPanel.add(ClearButton);// 在TopPanel上安裝ClearButton按鈕
  MainPanel = new com.sun.java.swing.JPanel();//主面板MainPanel
  java.awt.GridBagLayout MainLayout = new java.awt.GridBagLayout();
  MainPanel.setLayout(MainLayout);
  java.awt.GridBagConstraints MainConstraints = new java.awt.GridBagConstraints();
  SetConstraints(MainConstraints, GBCBOTH,TOPPANELX,TOPPANELY,1,1); //TopPanel
  MainLayout.setConstraints(TopPanel,MainConstraints);
  MainPanel.add(TopPanel);//將TopPanel裝入主面板MainPanel
  this.getContentPane().add(MainPanel); //將主面板裝入Jframe框架
  this.setSize(640,480); //設置顯示大小,可在程序中更改
  this.setVisible(true); //設置可顯示
  SearchText.requestFocus();//文本框聚焦(選中)
  SearchText.selectAll();
    ButtonAction BAction = new ButtonAction();
  ClearButton.addActionListener(BAction);//將按鈕加入到活動監聽器中
  SearchButton.addActionListener(BAction);
  }
  public static void main(String args[]){
  myGUI mGUI = new myGUI();
  } //啟動主程序
  
    JAVA的GUI界面是由一系列嵌入組件組成的,它使用了JDK和JFC(SWING)組件。本例首先建立框架(JFRAME),在上面再建一個主面板(MAINPANEL),再往下建立一個子面板(TOPPANEL),然后將兩個按鈕和一個文本框插入到子面板中,這是一個典型的OOP實例, 在程序分別捕捉到兩個按鈕的按動后,并顯示按鈕信息后再選取文本框中的內容。這個軟件經擴充,可加入更多的子面板,和更多更復雜的組件(如JTABLE-表格或JTREE-樹)。注重這個myGUI.java文件可用任何文本編輯軟件編輯,以純文本方式存盤。JFC的組件比AWT的組件更美觀,同樣的按鈕,JFC的好看,并能進行更多的設置。
  
    在安裝好JAVA 1.2 (JDK)和JFC(SWING1.1.1或更高版本,這些系統可在有關網站下載)后即可在WINDOWS的DOS方式下編譯和運行文件了。
  先對文件進行編譯:
  javac myGUI.java
  如無錯誤可用下面命令運行文件:
  java myGUI
  此時就可以看到一幅漂亮的界面。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美精品久久一区二区| 一区国产精品视频| 国产精品第一第二| 欧美综合在线第二页| 性色av一区二区三区| 日韩中文第一页| 欧美整片在线观看| 在线日韩av观看| 久久高清视频免费| 国产精品久久久久久久午夜| 91国产高清在线| 久久99亚洲精品| 精品久久久久久久大神国产| 性欧美长视频免费观看不卡| 日韩视频永久免费观看| 国产精品久久久久久久久久久新郎| 欧美日韩国产成人高清视频| 国产精品一区二区三区成人| 久久久久久国产精品三级玉女聊斋| 国产精品电影久久久久电影网| 亚洲一区二区三区毛片| 成人日韩在线电影| 91久久精品国产91久久| 欧美精品在线网站| 欧美另类第一页| 亚洲免费小视频| 亚洲午夜精品久久久久久久久久久久| 日韩一区二区欧美| 最近2019年手机中文字幕| 欧美成年人视频| 国产成人jvid在线播放| 伊人av综合网| 久久久久五月天| 国产精品激情自拍| 国产精品视频中文字幕91| 欧美国产一区二区三区| 精品视频在线播放| 日韩精品在线播放| 亚洲黄色www| 亚洲欧美日韩一区二区在线| 在线观看视频99| 亚洲香蕉av在线一区二区三区| 亚洲裸体xxxx| 伊人久久久久久久久久| 在线亚洲男人天堂| 欧美成人精品xxx| 成人精品久久av网站| 在线观看久久久久久| 欧美性猛交99久久久久99按摩| 欧美黑人xxxⅹ高潮交| 成人免费午夜电影| 亚洲精品日韩久久久| 久久精品国产亚洲精品| 亚洲成人a级网| 热re99久久精品国产66热| 日韩欧美国产一区二区| 国产精品久久久久久久app| 91视频国产高清| 自拍亚洲一区欧美另类| 亚洲欧美999| 国产精品一区二区电影| 久久99国产精品久久久久久久久| 91国产中文字幕| 亚洲精品色婷婷福利天堂| 欧美精品日韩www.p站| 97精品欧美一区二区三区| 97热在线精品视频在线观看| 国产成人啪精品视频免费网| 日韩成人av在线| 成人中心免费视频| 97成人精品视频在线观看| 日本a级片电影一区二区| 亚洲精品视频免费在线观看| 欧美在线性爱视频| 91热精品视频| 亚洲欧美日韩国产中文专区| 亚洲国产中文字幕在线观看| 国产91色在线免费| 日韩视频免费在线| 久久精品欧美视频| 精品国产依人香蕉在线精品| 亚洲女人被黑人巨大进入al| 国产精品亚洲综合天堂夜夜| 日韩欧美精品在线观看| 国产日产久久高清欧美一区| 亚洲乱码国产乱码精品精| 高潮白浆女日韩av免费看| 另类天堂视频在线观看| 久久国产精品亚洲| 亚洲伊人第一页| 裸体女人亚洲精品一区| 日韩在线视频二区| 国产亚洲激情在线| 亚洲激情电影中文字幕| 亚洲国产成人精品一区二区| 日韩av影院在线观看| 国产精品av网站| 欧美性受xxxx白人性爽| 欧美乱人伦中文字幕在线| 日韩高清电影免费观看完整版| 久久久久一本一区二区青青蜜月| 疯狂做受xxxx高潮欧美日本| 97精品一区二区视频在线观看| 日韩有码在线观看| 欧美亚洲日本黄色| 亚洲福利在线视频| 亚洲色图国产精品| 亚洲香蕉在线观看| 97精品免费视频| 欧美性高跟鞋xxxxhd| 亚洲自拍av在线| 成人做爰www免费看视频网站| 国产91色在线免费| 国产精品在线看| 日韩中文字幕在线看| 欧美亚洲视频在线观看| 久久亚洲国产精品| 国模吧一区二区| 色综合视频一区中文字幕| 青青草99啪国产免费| 欧美激情精品久久久久久免费印度| 亚洲成人性视频| 国产成人在线播放| 亚洲综合精品伊人久久| 欧美成人午夜免费视在线看片| 欧美性生交xxxxxdddd| www.日本久久久久com.| 国产成人综合精品在线| 美女国内精品自产拍在线播放| 亚洲激情免费观看| 日韩欧美中文免费| 国产精品pans私拍| 色www亚洲国产张柏芝| 97在线视频国产| 国产一区二区香蕉| 久久综合88中文色鬼| 91高清在线免费观看| 国产日韩亚洲欧美| 国产一区二区在线免费视频| 91免费精品国偷自产在线| 91经典在线视频| 欧美日韩国产激情| 日韩精品免费综合视频在线播放| 国产成人在线视频| 国产综合久久久久| 日韩中文字幕国产精品| 亚洲国产天堂久久国产91| 午夜精品在线视频| 8x拔播拔播x8国产精品| 国产精品女主播| 精品国产户外野外| 国产精品∨欧美精品v日韩精品| 国产精品福利在线观看网址| 日韩www在线| 日韩中文字幕在线看| 777777777亚洲妇女| 亚洲性生活视频| 97超级碰在线看视频免费在线看| 91国产中文字幕| 色多多国产成人永久免费网站| 中文字幕亚洲欧美日韩在线不卡| 色老头一区二区三区| 91在线精品播放| 精品久久在线播放|