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

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

来源:图灵教育
时间:2024-02-22 14:40:12

  如何设计具有GUI特征的“纯”JAVA程序?

  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(); } ///启动主程序 由一系列嵌入组件组成的JAVAGUI界面,它使用JDK和JFC(SWING)组件。本例首先建立框架(JFRAME),在上面再建一个主面板(MAINPANEL),然后建立一个子面板(TOPPANEL),然后在子面板中插入两个按钮和一个文本框,这是一个典型的OOP实例, 在选择文本框中的内容之前,程序分别捕获两个按钮的按钮,并显示按钮信息。扩展后,该软件可以添加更多的子面板和更复杂的组件(如JTABLE-表格或JTRE-树)。扩展后,该软件可以添加更多的子面板和更复杂的组件(如JTABLE-表格或JTRE-树)。请注意这个myGUI.java文件可以用任何文本编辑软件编辑,以纯文本的形式存储。JFC组件比AWT组件更漂亮,同样的按钮,JFC好看,可以设置更多。 JAVA安装完毕 1.2 (JDK)和JFC(SWING1.1.1或更高的版本,这些系统可以在相关网站下载),然后在WINDOWS的DOS模式下编译和运行文件。 先编译文件: javac myGUI.java 如无错误,可使用以下命令操作文件: java myGUI.class 这时,你可以看到一个美丽的界面。