动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
电脑书籍下载:程序设计书籍 | 数据库教程书籍 | 平面与多媒体书籍 | 网络通讯书籍 | 系统管理书籍 | 网络安全书籍 | 认证考试书籍
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ Java教程 ]的信息



本月文章推荐
.轻松测试-学习如何简化测试外部资.
.一针见血谈谈面向对象的思维方法.
.在Wicket里面使用一个自己WebSes.
.Java Servlet API说明文档(2.1a.
.漫谈EJB——Enterprise JavaBean.
.体验 JDBC 2.0 规范的一些新东西.
.关于spring中的aop的解释.
.Saxon - XSLT与XQuery处理器.
.移动技术促进人和网络互动:.NET.
.EJB 技术的数据库应用(1).
.深入探讨JavaMail API的使用.
.用DatabaseProPerTyex()检查过程.
.JAVA教程:解析Java的多线程机制.
.学习JavaWebStart.
.编程技巧:在Java应用开发中如何.
.一个简单的表达式求值类,java.
.简单的 Java 循环控制实现行列式.
.Java编写的计算器程序及源代码.
.struts构建文件上传(7).
.jdk-1_5_0_04-nb-4_1-linux简体中.

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

发表日期:2008-1-5 |



  现在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
  此时就可以看到一幅漂亮的界面。
上一篇:Eclipse使用入门 人气:645
下一篇:Java 图形用户界面设计(上) 人气:501
浏览全部Java的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-7-24 Sablog-X v2.0 预览版
2008-7-24 帝国备份王EmpireBak 2008 正式版
2008-7-24 网趣网上购物系统时尚版 v8.2
2008-7-24 纵横B2B电子商务系统XYECS!B2B v
2008-7-24 e路小说小偷 v1.2.0723
2008-7-24 凌风美女图片站程序 v2.2
2008-7-24 TOM15电影收索程序
2008-7-24 清风信息自动采集生成系统 v1.0
2008-7-24 QQ邮箱编辑器 v1.0 (小小菜刀ASP
2008-7-19 UltraEdit 简体中文增强版 14.10
2008-7-19 CentOS 5.2 i386 LiveCD
2008-7-19 Snapture多功能相机 v1.4
2008-7-19 iAcces中文输入法 v1.0Build016
2008-7-19 Cookbook烹饪秘籍 v2.5
2008-7-19 苹果专用DVD转换工具 v1.1.59汉化
2008-7-19 Modem修复软件ZiPhone修改版04.0
2008-7-19 AgileMessenger即时通讯工具美化
2008-7-19 Sketches画图软件 v0.7b6破解版


  发表评论
姓 名: 验证码:
内 容:
[ 汉字翻译拼音 ] [ 广告代码 ] [ 符号对照表 ] [ 进制转换 ] [ 经典小工具 ] [ 个税计算 ] [ 汉字简繁转换 ] [ 普通单位换算 ] [ 公制单位换算 ]
[ 生辰老黄历 ] [ 国内电话区号 ] [ 国家代码与域名缩写 ] [ 文字加密解密 ] [ 健康查询 ] [ 万年历 ] [ 手机号码查询 ] [ ip搜索 ] [ Google PR查询 ]
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報
防水工事·改修工事 フットサル大会 探偵