第二次java实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第七次实验:GUI标准组件及事件处理
一、实验目的
了解图形用户界面基本组件:框架、面板、按钮、标签、菜单、列表等的使用方法;了解如何使用布局管理器对组件进行管理;理解和掌握Java 的事件处理机制。
二、实验要求
1. 了解Java图像用户界面的开发,掌握基本组件的使用。
2. 掌握编写独立运行的窗口界面的方法,了解菜单和对话框的使用方法。
3. 理解Java 的事件处理机制,掌握为不同组件编写事件处理程序的方法。
三、实验内容
(一)在面板中添加多个组件,并进行合理的布局
♦程序功能:在一个框架(Frame)容器中添加一个面板(Panel)容器,并分别在框架和面板容器中添加组件并使用不同的布局管理方式。
♦请编写KY7_1.java 程序文件,源代码如下:
import java.awt.*;
import java.awt.Color;
public class KY7_1
{
public static void main(String args[])
{
Frame f = new Frame(); //创建一个框架f
Panel p = new Panel(); //创建一个面板p
f.add(p); //把面板p添加到框架f中
p.setBackground(Color.blue); //设置面板p的背景颜色为蓝色
p.setLayout(new FlowLayout()); //设置面板p的布局为流式布局
Label l = new Label();
p.add(l); //在面板p中添加一个标签l
Button button1 = new Button();
Button button2 = new Button();
Button button3 = new Button();
Button button4 = new Button();
Button button5 = new Button();
Button button6 = new Button();
p.add(button1);
p.add(button2); p.add(button3); p.add(button4); p.add(button5); p.add(button6); //在面板p 中添加六个按钮 Choice c=new Choice(); // 创建一个下拉列表c , c.addItem("北京"); // 下拉列表c 中有三个选项:北京、上海和天津 c.addItem("上海"); c.addItem("天津"); p.add(c); //把列表c 添加到面板p 中
f.setBounds(400,400,400,400); f.setVisible(true);
f.validate(); //设置框架f 的大小和可见性
}
}
(二)为窗口添加菜单,并处理由菜单项所引发的事件
♦ 程序功能:在窗口中添加菜单条,在菜单条中添加菜单,并在菜单中添加菜单项和
子菜单。通过选择菜单项可以引发不同的事件,从而执行不同操作,例如点击“打开”菜单项可以打开一个“打开文件对话框”。
♦ 编写KY7_2.java 程序文件,代码如下:
import java.awt.*;
import java.awt.event.*;
public class KY7_2 extends Frame implements ActionListener
{static Frame f;
m1
m2 m
static FileDialog fd1;
static FileDialog fd2;
public static void main(String args[])
{KY7_2 k = new KY7_2();
f = new Frame();
MenuBar mb = new MenuBar();
Menu m1 = new Menu("文件");
Menu m2 = new Menu("帮助");
mb.add(m1);
mb.add(m2);
MenuItem m11 = new MenuItem("打开");
MenuItem m12 = new MenuItem("关闭");
MenuItem m13 = new MenuItem("退出");
m1.add(m11);
m1.add(m12);
m1.add(m13);
MenuItem m21 = new MenuItem("目录");
MenuItem m22 = new MenuItem("索引");
MenuItem m23 = new MenuItem("关于");
m2.add(m21);
m2.add(m22);
m2.add(m23);
Menu m3 = new Menu("编辑");
MenuItem m31 = new MenuItem("复制");
MenuItem m32 = new MenuItem("剪切");
MenuItem m33 = new MenuItem("粘贴");
m3.add(m31);
m3.add(m32);
m3.add(m33);
m1.add(m3);
m11.addActionListener(k);
m13.addActionListener(k);
f.setSize(350,200);
f.setMenuBar(mb);
f.setVisible(true);}
public void actionPerformed (ActionEvent e)
{ if (e.getActionCommand() == "打开")
{FileDialog fd1 = new FileDialog (f, "open", FileDialog.SAVE);
fd1.setVisible (true);
}
if (e.getActionCommand() == "保存")
{FileDialog fd2 = new FileDialog (f, "save", FileDialog.SAVE);
fd2.setVisible (true);
} }}