当前位置: 首页 > 图灵资讯 > 技术篇> 如何设计出具有GUI特色的“纯”JAVA程序

如何设计出具有GUI特色的“纯”JAVA程序

来源:图灵教育
时间:2024-03-03 10:35:57
现在JAVA语言在世界上非常流行,其应用涉及电子商务、INTERNET在线数据库、CGI和多媒体。SUN于1999年12月宣布了最新版本的JAVA2 SDK, 为新世纪的JAVA奠定基础。

  JAVA是一种面向对象的程序设计语言(OOP)。它是一种C++语言,因为JAVA消除了C//C++JAVA的应用比C++容易得多,而且JAVA的运行速度和C++差不多(根据美国相关部门的计算)。还有跨软硬件平台和一次编译、多次运行的机制。程序员怎么能不被感动呢?

  JAVA运行有两种形式:小程序(APPLET)和应用程序(APPLICATION),为了简化它,本文只讨论应用程序。小程序是将原始JAVA程序正确编译后嵌入HTML,然后通过IE或NC等浏览器使用的形式。稍后我们将给出应用程序(APPLICATION)实例来。

  使用VC++,VB,用这些软件设计GUIPHI和POWERBUILDER的朋友都知道(GRAPHICS USER INTERFACE)图形界面很容易,只需要用鼠标拖动控件,几乎不需要写任何代码。JAVA问世后,也有很多著名的公司是JDK(JAVA2之前的版本叫JDK,JAVA Developer Kit)开发了集成GUI开发环境软件,如MICROSOFTVisual J++,BorlandJBuilder, SymantecCafe, Visual Cafe 等等,这些产品虽然支持GUI界面,但开发程序容易,但也明显存在以下不足:

  1) JAVA版落后于SUN公司的最新版本。

  2) 它带来了兼容性问题,因为每个家庭都开发自己的类库文件,比如MS使用自己的WFC类库,导致JAVA无法与实际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();  } // 处理SearchButon按钮事件的子程序  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"); ///ClearButon按钮  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上安装SearchButon按钮  TopPanel.add(ClearButton);// ClearButon按钮安装在Toppanel上  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-表格或JTRE-树)。注意这个myGUI.java文件可以用任何文本编辑软件编辑,以纯文本的形式存储。JFC组件比AWT组件更漂亮,同样的按钮,JFC好看,可以设置更多。

  JAVA安装完毕 1.2 (JDK)和JFC(SWING1.1.1或更高的版本,这些系统可以在相关网站下载),然后在WINDOWS的DOS模式下编译和运行文件。

  先编译文件:  javac myGUI.java  如无错误,可使用以下命令操作文件:  java myGUI.class  这时,你可以看到一个美丽的界面。