图形用户界面.docx

上传人:b****6 文档编号:3225031 上传时间:2022-11-20 格式:DOCX 页数:22 大小:602.27KB
下载 相关 举报
图形用户界面.docx_第1页
第1页 / 共22页
图形用户界面.docx_第2页
第2页 / 共22页
图形用户界面.docx_第3页
第3页 / 共22页
图形用户界面.docx_第4页
第4页 / 共22页
图形用户界面.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

图形用户界面.docx

《图形用户界面.docx》由会员分享,可在线阅读,更多相关《图形用户界面.docx(22页珍藏版)》请在冰豆网上搜索。

图形用户界面.docx

图形用户界面

实验六图形用户界面

一.实验目的:

1)了解图形用户界面基本组件窗口、按钮、文本框、选择框、滚动条等的使用方法,

2)了解如何使用布局管理器对组件进行管理,以及如何使用Java的事件处理机制。

二.实验要求

1)掌握在Applet容器中添加组件的方法,掌握使用布局管理器对组件进行管理的方法。

2)理解Java的事件处理机制,掌握为不同组件编写事件处理程序的方法。

3)掌握编写独立运行的窗口界面的方法。

4)了解JavaSwing组件的使用方法。

5)了解对话框的使用方法。

3.实验内容

3.1创建图形用户界面

图形用户界面(GraphicUserInterface,简称GUI)是为方便用户使用设计的窗口界面,在图形用户界面中用户可以看到什么就操作什么,取代了在字符方式下知道是什么后才能操作什么的方式。

组件(Component)是构成GUI的基本要素,通过对不同事件的响应来完成和用户的交互或组件之间的交互。

组件一般作为一个对象放置在容器(Container)内,容器是能容纳和排列组件的对象,如Applet、Panel(面板)、Frame(窗口)等。

通过容器的add方法把组件加入到容器中。

1.在Applet中添加标签、按钮并使用网格布局

(1)程序功能:

在Applet容器中添加组件标签、按钮,并使用网格布局管理器排列组件在容器中的位置。

(2)编写LX6_1.java程序文件,源代码如下。

importjava.awt.*;

importjava.applet.Applet;

publicclassLX6_1extendsApplet{

Labell1;

Buttonb1,b2,b3,b4,b5,b6;

publicvoidinit(){

setLayout(newGridLayout(3,3));//设置网格布局(3行3列共9个网格)

l1=newLabel("标签1");

b1=newButton("按钮1");

b2=newButton("按钮2");

b3=newButton("按钮3");

b4=newButton("按钮4");

add(l1);

add(b1);

add(b2);

add(b3);

add(newLabel());

add(b4);

add(newButton("按钮5"));

add(newButton("按钮6"));

add(newLabel("标签2"));

}

}

(3)编译程序LX6_1.java。

(4)编写显示Applet的页面文件LX6_1.html,在浏览器显示结果如图6.1所示。

2.在面板中添加组件

(1)程序功能:

在Applet中添加面板容器,并分别在Applet、面板容器中添加组件并使用不同的布局管理方式。

(2)编写LX6_2.java程序文件,源代码如下。

importjava.awt.*;

importjava.awt.Color;

importjava.applet.Applet;

publicclassLX6_2extendsApplet{

publicvoidinit(){

//设置最底层的Applet容器为顺序布局

setFont(newFont("Arial",Font.PLAIN,20));

Labell=newLabel("这是最底层的Applet容器中的标签",Label.CENTER);

add(l);

Panelpanel1=newPanel();

add(panel1);

panel1.setBackground(Color.blue);

panel1.setForeground(Color.red);

panel1.setLayout(newBorderLayout());//设置边界布局

panel1.add("North",newButton("北"));

panel1.add("South",newButton("南"));

panel1.add("East",newButton("东"));

panel1.add("West",newButton("西"));

panel1.add("Center",newLabel("这是在Panel1面板中部添加的标签"));

Panelpanel2=newPanel();

add(panel2);

panel2.setLayout(newGridLayout(3,1));//设置网格布局

Choicec=newChoice();//创建下拉式列表

c.addItem("北京");

c.addItem("上海");

c.addItem("西安");

Labell1=newLabel("这是在Panel2面板中的标签");

Buttonb1=newButton("Panel2中的按钮");

panel2.setBackground(Color.green);

panel2.add(l1);

panel2.add(b1);

panel2.add(c);

}

}

(3)编译程序LX6_2.java。

(4)编写显示Applet的页面文件LX6_2.html,在浏览器显示结果如图6.2所示。

3.2了解事件处理机制

在图形用户界面中,程序和用户的交互是通过组件响应各种事件来实现的。

例如,用户单击了一个按钮,意味着发生了按钮的单击事件;选中下拉框中的一个选项,意味着发生了一个选项事件。

在Java中能产生事件的组件叫做事件源,如按钮。

如果希望对单击按钮事件进行处理,可给事件源(按钮)注册一个事件监听器(如包含按钮的容器),如同签订了一个委托合同,当事件源发生事件时,事件监听器就代替事件源对发生的事件进行处理,这就是所谓的委托事件处理机制。

1.单击按钮的事件处理程序

(1)程序功能:

使用手工布局设置组件标签、按钮的位置,为按钮编写单击事件处理方法。

当用户用鼠标单击按钮时,会听到一声响声。

(2)编写LX6_3.java程序文件,源代码如下。

importjava.awt.*;

importjava.awt.event.*;

importjava.applet.Applet;

publicclassLX6_3extendsAppletimplementsActionListener{//实现动作事件监听接口

publicvoidinit(){

setLayout(null);//关闭默认的顺序管理布局

Labell=newLabel("按一下按钮可听到响声!

",Label.CENTER);

add(l);

l.setBounds(40,10,150,30);

Buttonb=newButton("按钮");

add(b);

b.setBounds(60,50,60,40);

b.addActionListener(this);//注册事件源的动作监听者

}

publicvoidactionPerformed(ActionEvente){//实现单击事件接口的方法

Toolkit.getDefaultToolkit().beep();//单击事件发生时作出的反应

}

}

(3)编译程序LX6_2.java。

(4)编写显示Applet的页面文件LX6_3.html,在浏览器显示结果如图6.3所示。

2.选择复选框和单选框按钮的事件处理程序

(1)程序功能:

在Applet上创建复选框、单选框、文本区域、单行文本框等组件,并实现根据用户输入的10进制数,选择不同选项可转换为2、8、16进制数。

(2)编写LX6_4.java程序文件,源代码如下。

importjava.applet.Applet;

importjava.awt.*;

importjava.awt.event.*;

publicclassLX6_4extendsAppletimplementsItemListener{

TextAreaarea=newTextArea(6,30);//创建文本区

StringItem[]={"2进制","8进制","16进制","10进制"};

Checkboxcb[]=newCheckbox[5];

Checkboxradio[]=newCheckbox[5];

Labell=newLabel("输入10进制数");

TextFieldTF=newTextField(6);//创建单行文本框

publicvoidinit(){

add(l);add(TF);

add(area);

add(newLabel("请选择进制:

"));

for(inti=0;i<4;i++){

cb[i]=newCheckbox(Item[i]);

add(cb[i]);

cb[i].addItemListener(this);

}

CheckboxGroupcbGroup=newCheckboxGroup();//创建单选框

add(newLabel("请选择进制:

"));

for(inti=0;i<4;i++){

radio[i]=newCheckbox(Item[i],cbGroup,false);

add(radio[i]);

radio[i].addItemListener(this);

}

}

publicvoiditemStateChanged(ItemEvente){

intx=Integer.parseInt(TF.getText());

if(e.getItem()=="2进制")

area.append("你选择的是"+e.getItem()+Integer.toBinaryString(x)+"\n");

if(e.getItem()=="8进制")

area.append("你选择的是"+e.getItem()+Integer.toOctalString(x)+"\n");

if(e.getItem()=="16进制")

area.append("你选择的是"+e.getItem()+Integer.toHexString(x)+"\n");

if(e.getItem()=="10进制")

area.append("你选择的是"+e.getItem()+x+"\n");

}

}

(3)编译程序LX6_4.java。

(4)编写显示Applet的页面文件LX6_4.html,在浏览器显示结果如图6.4所示。

3.3建立独立运行的窗口界面并使用匿名类

最常使用的包含组件的容器是窗口,在Java中窗口由Frame类生成。

1.创建一个窗口界面

(1)程序功能:

创建一个具有关闭功能的空白窗口。

(2)编写LX6_5_W.java程序文件,源代码如下。

importjava.awt.*;

importjava.awt.event.*;

publicclassLX6_5_W{

publicstaticvoidmain(String[]args){

newLX6_5_W();

}

LX6_5_W(){

Framef=newFrame("初始窗口");//创建窗口对象

f.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 其它模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1