Java图形用户接口
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第九章Java图形用户接口
对一个优秀的应用程序来说,良好的图形用户接口是必不可少的。缺少良好的图形用户接口,将会给用户理解和使用应用程序带来很多不便。很难想象用户为了学会使用一个应用程序,去记一大堆命令。Java提供了生成一个良好的图形用户接口所需要的一切基本元件:面板(Panel Button?abe l?画板(Canvases?滚动条(Scrollbar?列表框(List?文本域(TextF ield?文本区(TextArea?
9.1 面板
面板提?了建立应用程序的空间。你可以把图形元件(包括其他面板?放在一个面板上。Applet类提?了一个基本的面板。
9.1.1布局管理
Java提?了几种布局:顺序布局(FlowLayout?边界布局(BorderLayout?和网格布局(GridLayout?
9.1.1.1顺序布局
顺序布局(FlowLayout?是最基本的一种布局,面板的缺省布局就是顺序布局。顺序布局指的是把图形元件一个接一个地?平地放在面板上。下面是一个顺序布局的例子:
import java.awt.*;
import java.applet.Applet;
public class myButtons extends Applet{
Button button1,button2,button3;
public void init(){
button1=new Button("确定");
button2=new Button("打开");
button3=new Button("关闭");
add(button1);
add(button2);
add(button3);
}
}
该程序生成的布局如下:
图9.1
9.1.1.2边界布局
边界布局包括五个区:北区、南区、东区、西区和中区。这几个区在面板上的分布规律是“上北下南,左西右东”。下面是一个边界布局的例子:
import java.awt.*;
import java.applet.Applet;
public class buttonDir extends Applet{
Button buttonN,buttonS,buttonW,buttonE,buttonC;
public void init(){
setLayout(new BorderLayout());
buttonN=new Button("水");
buttonS=new Button("火");
buttonE=new Button("木");
buttonW=new Button("金");
buttonC=new Button("土");
add("North",buttonN);
add("South",buttonS);
add("East",buttonE);
add("West",buttonW);
add("Center",buttonC);
}
}
下面是该程序运行的结果:
图9.2
9.1.1.3网格布局
网格布局把面板分成一个个的网格,你可以给出网格的行数和列数。下面是一个网格布局的例子:
import java.awt.*;
import java.applet.Applet;
public class buttonGrid extends Applet{
Button button1,button2,button3,button4,button5,button6,button 7,button8;
public void init(){
setLayout(newGridLayout(4,2));
button1=new Button("乾");
button2=new Button("坤");
button3=new Button("艮");
button4=new Button("震");
button5=new Button("坎");
button6=new Button("离");
button7=new Button("巽");
button8=new Button("兑");
add(button1);add(button2);add(button3);
add(button4);add(button5);add(button6);
add(button7);add(button8);
}
}
下面是该程序运行的结果:
图9.3
9.2按钮
9.2.1按钮事件
用户点一下按钮,就会有一个按钮事件发生。你可以通过重载一个applet的act ion成员函数来捕捉按钮事件。
public boolean action(Event e,Object o){
if(e.target instanceof Button){
System.out.println((string) o);}
else{
System.out.println("Non-button event");}
return true;
}
9.2.2按钮类型
Java提?了标准的按压式按钮,同时也提?了选择式按钮和标记式按钮。
9.2.2.1选择式按钮
选择式按钮提?了从几个选项中选一个选项的功能。下面是从几个市中选一个市的例子,市名放在选择式按钮中:
CityChooser=new Choice();
CityChooser.addItem("北京");
CityChooser.addItem("上海");
CityChooser.addItem("天津");