java实验指导(6)

2019-08-03 12:18

JAVA面向对象程序设计实验指导书

setLayout(new GridLayout(3,3)); // 设置网格布局(3行3 列共9 个网格) l1=new Label(\标签1\b1 = new Button(\按钮1\b2 = new Button(\按钮2\b3 = new Button(\按钮3\b4 = new Button(\按钮4\add(l1); add(b1); add(b2); add(b3);

add(new Label()); add(b4);

add(new Button(\按钮5\add( new Button(\按钮6\add(new Label(\标签2\} }

(3) 编译程序LX6_1.java。

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

图6.1

思考:在网格布局中组件的大小是如何确定的?组件是如何确定排列顺序的? 2.在面板中添加组件

(1)程序功能:在Applet 中添加面板容器,并分别在Applet、面板容器中添加组件并使用不同的布局管理方式。

(2)编写LX6_2.java 程序文件,源代码如下。 import java.awt.*; import java.awt.Color; import java.applet.Applet; public class LX6_2 extends Applet { public void init() { //设置最底层的 Applet 容器为顺序布局

setFont(new Font(\

Label l=new Label(\这是最底层的 Applet 容器中的标签\add(l);

Panel panel1=new Panel(); add( panel1);

panel1.setBackground(Color.blue); panel1.setForeground(Color.red);

panel1.setLayout(new BorderLayout());//设置边界布局 panel1.add(\北\panel1.add(\南\panel1.add(\东\panel1.add(\西\

panel1.add(\这是在 Panel1面板 中部添加的标签\Panel panel2=new Panel(); add( panel2);

panel2.setLayout(new GridLayout(3,1)); //设置网格布局 Choice c=new Choice ();//创建下拉式列表 c.addItem(\北京\c.addItem(\上海\c.addItem(\天津\

Label l1=new Label(\这是在 Panel2 面板中的标签\

- 22 -

JAVA面向对象程序设计实验指导书 Button b1=new Button(\中的按钮\

panel2.setBackground(Color.green); panel2.add(l1);

panel2.add(b1); panel2.add(c); } }

(3)编译程序LX6_2.java。

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

图6.2

思考:如何添加面板?如何在面板中添加组件?如何在面板中设置布局管理器?

(二) 了解事件处理机制

在图形用户界面中,程序和用户的交互是通过组件响应各种事件来实现的。例如,用户单击了一个按钮,意味着发生了按钮的单击事件;选中下拉框中的一个选项,意味着发生了一个选项事件。在Java 中能产生事件的组件叫做事件源,如按钮。如果希望对单击按钮事件进行处理,可给事件源(按钮)注册一个事件监听器(如包含按钮的容器), 如同签订了一个委托合同,当事件源发生事件时,事件监听器就代替事件源对发生的事件进行处理,这就是所谓的委托事件处理机制。

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

(1) 程序功能:使用手工布局设置组件标签、按钮的位置,为按钮编写单击事件处理方法。当用户用鼠标单击按钮时,会听到一声响声。

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

import java.awt.event.*; import java.applet.Applet;

public class LX6_3 extends Applet implements ActionListener { / / 实现动作事件监听接口

public void init() {

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

Label l=new Label(\按一下按钮可听到响声!\add(l); l.setBounds(40,10,150,30); Button b=new Button(\按钮\add(b);

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

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

public void actionPerformed(ActionEvent e) {// 实现单击事件接口的方法 Toolkit.getDefaultToolkit ().beep(); // 单击事件发生时作出的反应 } }

(3)编译程序LX6_2.java。

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

- 23 -

JAVA面向对象程序设计实验指导书

图6.3

思考:具有事件处理功能的类有什么特点? 2. 选择复选框和单选框按钮的事件处理程序

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

(2)编写LX6_4.java 程序文件,源代码如下。 import java.applet.Applet; import java.awt.*;

import java.awt.event.*;

public class LX6_4 extends Applet implements ItemListener {

TextArea area=new TextArea(6,30);//创建文本区

String Item[]={\进制\进制\进制\进制\Checkbox cb[]=new Checkbox[5]; Checkbox radio[]=new Checkbox[5]; Label l=new Label(\输入10 进制数\

TextField TF=new TextField(6);// 创建单行文本框 public void init() { add(l);add(TF);

add(area); add(new Label(\请选择进制:\for(int i=0; i<4; i++) {

cb[i]=new Checkbox(Item[i]); add(cb[i]); cb[i].addItemListener(this); }

CheckboxGroup cbGroup=new CheckboxGroup();//创建单选框 add(new Label(\请选择进制:\for(int i=0; i<4; i++) {

radio[i]=new

Checkbox(Item[i],cbGroup,false); add(radio[i]); radio[i].addItemListener(this); }

}

public void itemStateChanged(ItemEvent e) { int x=Integer.parseInt(TF.getText()); if (e.getItem ()==\进制\

- 24 -

JAVA面向对象程序设计实验指导书 area.append (\你选择的是\if (e.getItem ()==\进制\

area.append (\你选择的是\if (e.getItem ()==\进制\

area.append (\你选择的是\if (e.getItem ()==\进制\

area.append (\你选择的是\} }

(3) 编译程序LX6_4.java。

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

图6.4

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

最常使用的包含组件的容器是窗口,在Java 中窗口由Frame 类生成。 1.创建一个窗口界面

(1)程序功能:创建一个具有关闭功能的空白窗口。 (2)编写LX6_5_W.java 程序文件,源代码如下。

import java.awt.*; import java.awt.event.*; public class LX6_5_W { public static void main(String[] args) {

new LX6_5_W(); }

LX6_5_W(){

Frame f=new Frame(\初始窗口\创建窗口对象 f.setSize(350,200);//设置窗口大小

f.setVisible(true);//设置窗口是可视的

f.addWindowListener(new WindowAdapter() {// 为窗口添加窗口事件适配器

public void windowClosing(WindowEvent e) {// 关闭窗口事件的方法

System.exit(0);

- 25 -

JAVA面向对象程序设计实验指导书

}

} } }

(3) 编译并运行程序,会出现一个界面窗口如图6.5 所示。它可以最大化、最小化,单击×按钮可以关闭该窗口。

图6.5

思考:

(1)有几种创建窗口对象的方法?

(2)本程序在哪里使用了匿名类?如何创建匿名类?

2.在窗口中添加组件

(1)程序功能:在窗口中添加组件。

(2)编写LX6_6.java 程序文件,源代码如下。 import java.awt.*;

import java.awt.event.*;

public class LX6_6 extends Frame implements ActionListener {

Button btn1, btn2; TextField f,tf1,tf2; TextArea Area; LX6_6() {

super(\添加组件的窗口\

addWindowListener(new WindowAdapter() {

public void windowClosing(WindowEvent e) {

System.exit(0); } });

setSize(350,250); //设置窗口大小

setLocation(200,200);//设置窗口显示位置

setFont(new Font(\设置字体 setLayout(new FlowLayout()); Area=new TextArea (6,40);

tf1=new TextField(10); tf2=new TextField(10); btn1=new Button(\显示\退出\f=new TextField(20); add(Area);

add(new Label(\用户名\add(tf1);

add(new Label(\电话\add(tf2); add(f); add(btn1);

- 26 -


java实验指导(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:牛津译林版2017-2018学年九年级(上)期末英语试卷及答案解析

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: