| 网站首页 | 文章中心 | 电子书下载 | 矢量图库 | 视频教程 | 素材下载 | 程序代码下载 | JS代码 | 论坛 | 
常用软件类:
|杀毒安全 |联络聊天 |网络软件 |多媒体类 |系统工具 |图形图像 |系统工具 |应用软件 |行业软件
开发设计类:
|动画制作 |图像处理 |3D设计 |操作系统 |站长学院 |网络相关 |WEB设计 |数据库类 |程序开发
Java Applet 入门 第三天
作者:佚名    文章来源:网络    点击数:    更新时间:2006-10-18
 

Java的图形界面与设计
    图形用户界面(Graphics User Interface),简称GUI,使用图形的方式,借助菜单、按钮等标准界面元素和鼠标操作,帮助用户方便地向计算机系统发出指令,启动操作,并将系统运行的结果同样以图形方式显示给用户。图形用户界面画面生动、操作简单,省去了字符界面用户必须记忆各种命令的麻烦,深受广大用户喜爱和欢迎,已经成为目前几乎所有应用软件的既成标准。所以学习设计和开发图形用户界面,是应用软件开发人员必修的一课。
 JAVA中构成用户界面的各种元素和成分可以粗略地分成为三类:容器、控制组件和用户自定义成分。
1.容器
     容器是用来组织其他界面成分和元素的单元。一般说来一个应用程序的图形用户界面首先对应于一个复杂的容器,如一个窗口。这个容器内部将包含许多界面成分和元素,这写界面元素本身也可以又是一个容器,这个容器将再进一步包含它的界面成分和元素,依次类推就构成一个复杂的图形界面系统。
容器的主要作用和特点有:
(1)容器有一定的范围。一般容器都是矩形的,容器范围边界可以用边框框出来,有些则没有可见的标记。
(2)容器有一定的位置。这个位置可以是屏幕四角的绝对位置,也可以是相对于其他容器边框的相对位置。
(3)容器通常都有一个背景,这个背景覆盖全部容器,可以通明,也可以指定一幅特殊的图案,使界面生动化和个性化.
(4)容器中可以包含其他的许多界面成分和元素。当容器被打开显示时,它上面的所以成分和元素也同时显示出来,当容器被关闭和隐藏时,它所包含的成分和元素也一起被隐藏。
(5)容器可以按一定的规则来物理地安排它所包含的元素,如这些元素的相对位置关系、它们的的前后排列关系等。
(6)容器可能被包含在其他容器之中。
2.控制组件
    与容器不同,控制组件是图形用户界面的最小单位之一,它里面不再包含其他的成分.控制组件的作用是完成与用户的一次交互,包括接受用户的一个命令,接受用户的一个文本输入,向用户显示一段文本或一个图形等。从某种程度上来说,控制组件是图形用户界面标准化的结果,目前常用的控制组件有:
(1)复选框(Checkbox)
(2)单选按钮(CheckboxGroup或RadioButton)
(3)下拉列表(List或Choice)
(4)标签(Label)
(5)文本编辑区(Edit或Textfield,TextArea)
(6)按钮(Button)
3.用户自定义成分
    除了标准的图形界面元素,编程人员还可以根据用户需要设计一些用户自定义的图形界面成分,例如绘制一些几何图形,使用标志图案等。用户自定义成分由于不能像标准界面元素一样被系统识别和承认,所以通常只能起到装饰、美化等作用,而不能响应用户的动作,不具有交互功能。
1.复选框(Checkbox)
例子:

上面的例子是怎样用JAVA实现的呢?
它的语法如下:
import java.awt .*;
import java.applet .*;
import java.awt.event.* ;

public class FuXuan extends Applet 
 implements ItemListener
{
 public void init()
 {
 Checkbox one=new Checkbox("猫");
 Checkbox two= new Checkbox("狗",true); 
 Checkbox three=new Checkbox("兔",false);
 one.addItemListener(this); 
 add(one);
 two.addItemListener(this); 
 add(two);
 three.addItemListener(this);
 add(three);
 }
 public void itemStateChanged(ItemEvent e)
 {
 }
}

分析: 
第3行:调入处理包,以处理复选框的事件
第4行:implements是加入事件的接口,用implements来调用接口,这个接口函数是ItemListener; 
第8行:调用函数Checkbox建立第1个选项,默认状态为假,即没有事先选中。 
第9行:建立一个事先已经默认为正确的选项。 
第12,14,16行:当用户点击复选框使其状态发生变化时就会引发ItemEvent类代表的选择事件。这个复选框已经把自身注册给ItemEvent事件的监听者ItemListener.系统会自动调用这个 ItemListener中的public void itemStateChanged(ItemEvent e)方法来响应复选框的状态改变。实际的实现了ItemListener接口的监听者。这个方法的方法体通常包括这样的语句:调用选择事件的方法e.getSelectable()获得印发选择事件的事件源对象引用,再调用e.getState()获取选择事件之后的状态。也可以直接利用事件事件原对象自身的方法操作,不过要注意的是getSelectable()方法的返回值是实现了Selectable接口的对象,需要把它强制转化成真正的事件原对象类型。例如: ((Checkbox)e.Selectable).getState():与e.getState效果是一致的。 
第13,15,17行:将one、two、three三个复选框加入到面板中去,以使起能够在屏幕上显示出来。

2.单选按钮(CheckboxGroup) 




    上面的例子是怎样用JAVA实现的呢?
它的语法如下:
import java.awt .*;
import java.applet .*;
import java.awt.event .*;

public class DanXuan extends Applet implements ItemListener
{
 public void init()
 {
 CheckboxGroup cbg=new CheckboxGroup();
    Checkbox one=new Checkbox("正确",false,cbg);
    Checkbox two=new Checkbox("不正确",false,cbg);
    Checkbox three=new Checkbox("我也不知道",true,cbg);
    one.addItemListener(this);
    two.addItemListener(this);
    three.addItemListener(this);
    add(one);
    add(two);
    add(three);
 }
 public void itemStateChanged(ItemEvent e)
 {
 }
}

分析:
第9行: 先建立一个新表单f,f的名称为checkbox Group 
第10行:调用函数 CheckboxGroup 建立一个新的单选按钮组cbg 
第11行:调用函数Checkbox建立第1个选项,名称为"one",默认状态为假,即没有事先选中。 
第12行:建立一个事先已经默认为正确的选项,名称为“three”。 
第13,14,15行:当用户点击复选框使其状态发生变化时就会引发ItemEvent类代表的选择事件。这个单选框已经把自身注册给ItemEvent事件的监听者ItemListener.系统会自动调用这个 ItemListener中的public void itemStateChanged(ItemEvent e)方法来响应单选框的状态改变。实际的实现了ItemListener接口的监听者。调用 CheckboxGroup的getSelectbox()方法可以获得用户选择了哪个按钮,这个方法返回用户选中的Checkbox对象,再调用该对象的方法getLabel()就知道用户选择了什么样的信息。同样,通过调用 CheckboxGroup的setSelectCheckbox()方法,可以在程序中指定单选按钮组中的哪个按钮。例如下面的语句说明选择为不知道: cbd.setSelectedCheckbox(three);另外也可以直接使用按钮组中的Checkbox单选按钮的方法,例如直接调用:one.getState(); 就可以知道这个按钮被选中了,那么其他按钮一定处于未选中状态。 
第16,17,18行:将one、two、three三个标签加入到容器f中去,以使起能够在屏幕上显示出来。 
第20行则是事件处理函数了!专门用来处理单选项改变的效果!这儿没有加入代码。所以它不能处理任何事件。 

3.下拉列表(Choice)和列表(List)
1.下拉列表:


    上面的例子是怎样用JAVA实现的呢?
它的语法如下:
import java.awt .*;
import java.applet .*;
import java.awt.event .*;

public class Liebiao1 extends Applet implements ItemListener
{
 public void init()
 {
  Choice c= new Choice();
  c.add ("-----初始选项------");
  c.add ("第一选项");
  c.add ("第二选项");
  c.add ("第三选项");
  c.add ("第四选项");
  c.addItemListener(this);
  add(c);
 }
 public void itemStateChanged(ItemEvent e)
 {
 }
}

分析:

第8行:调用函数 Choice 建立一个新的下拉列表 c 
第9行:调用c.add建立第1个选项,名称为"----初始选项----",这是
默认状态,即屏幕上什么也没有选时的选项。它的序号是0
第10行:建立第2个选项,名称为“第一选项”实际上它已经是第2个
选项,这属于一点小小的技巧问题。它的序号是1。这相信大家可以
更好地理解。

[1] [2] 下一页


相关文章