java实验七组件及事件,Java实验九---GUI标准组件及事件处理

本文介绍了如何使用Java实现图形用户界面(GUI)的基本组件,包括框架、面板、按钮、标签、菜单和列表,并展示了如何运用布局管理器进行组件布局。同时,讲解了Java的事件处理机制,通过实例演示了菜单项触发事件的处理方法,如打开文件对话框。
摘要由CSDN通过智能技术生成

一、实验目的:

了解图形用户界面基本组件:框架、面板、按钮、标签、菜单、列表等的使用方法;了解如何使用布局管理器对组件进行管理;理解和掌握Java的事件处理机制。

二、实验环境:

Eclipse

三、实验内容:

(一)在面板中添加多个组件,并进行合理的布局

程序功能:在一个框架(Frame)容器中添加一个面板(Panel)容器,并分别在框架和面板容器中添加组件并使用不同的布局管理方式。

请编写KY7_1.java程序文件,相关源代码的提示如下。

import javax.swing.*;

import java.awt.*;

import java.awt.Color;

public class KY7_1 {

public static void main(String args[]){

JFrame f=new JFrame();//创建一个框架f

JPanel p=new JPanel();//创建一个面板p

f.add(p);//把面板p添加到框架f中

p.setBackground(Color.blue); //设置面板p的背景颜色为蓝色

p.setLayout(new FlowLayout()); //设置面板p的布局为流式布局

JLabel l=new JLabel();//在面板p中添加一个标签l

p.add(l);

JButton b1 = new JButton("A");

JButton b2 = new JButton("B");

JButton b3 = new JButton("c");

JButton b4 = new JButton("D");

JButton b5 = new JButton("F");

JButton b6 = new JButton("G");

p.add(b1);

p.add(b2);

p.add(b3);

p.add(b4);

p.add(b5);

p.add(b6);//在面板p中添加六个按钮

Choice c=new Choice (); // 创建一个下拉列表c,

c.addItem("北京"); // 下拉列表c中有三个选项:北京、上海和天津

c.addItem("上海");

c.addItem("天津");

p.add(c); //把列表c添加到面板p中

f.setBounds(500,500,500,500);//设置框架f的大小和可见性

f.setVisible(true);

f.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

}

}运行结果:

cc0676612e8781843842bf5f4fc7d811.png

(二)为窗口添加菜单,并处理由菜单项所引发的事件

程序功能:在窗口中添加菜单条,在菜单条中添加菜单,并在菜单中添加菜单项和子菜单。通过选择菜单项可以引发不同的事件,从而执行不同操作,例如点击“打开”菜单项可以打开一个“打开文件对话框”。

编写KY7_2.java程序文件,源代码如下。

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

public class KY7_2 extends Frame implements ActionListener {

static JFrame f; //声明一个框架

static FileDialog fd1; //声明一个文件对话框对象

static FileDialog fd2;

public static void main(String args[]) {

KY7_2 k = new KY7_2();

f = new JFrame(); // 创建一个框架f

JMenuBar mb=new JMenuBar();// 创建一个菜单条 mb

JMenu m1=new JMenu("文件");// 在菜单条mb中添加两个菜单m1("文件")和m2("帮助")

mb.add(m1);

JMenu m2=new JMenu("帮助");

mb.add(m2);

JMenuItem m11,m12,m13;/* "文件"菜单m1中有三个菜单项:m11("打开")、 m12("关闭")和m13("退出")*/

m11 =new JMenuItem("打开");

m12 =new JMenuItem("关闭");

m13 =new JMenuItem("退出");

m1.add(m11);

m1.add(m12);

m1.add(m13);

JMenuItem m21,m22,m23;/* "帮助"菜单m2中有三个菜单项:m21("目录")、m22("索引")和m23("关于")*/

m21 =new JMenuItem("目录");

m22 =new JMenuItem("索引");

m23 =new JMenuItem("关于");

m2.add(m21);

m2.add(m22);

m2.add(m23);

JMenu m3;// "文件"菜单m1中还有一个子菜单m3("编辑")

m3 =new JMenu("编辑");

m1.add(m3);

JMenuItem m31,m32,m33;

m31 =new JMenuItem("复制");

m32 =new JMenuItem("剪切");

m33 =new JMenuItem("粘贴");

m3.add(m31);/* "编辑"子菜单m3 中有三个菜单项:m31("复制")、m32("剪切")和m33("粘贴")*/

m3.add(m32);

m3.add(m33);

m11.addActionListener(k); /* 允许菜单项"打开"引发一个事件,该事件的处理者为当前对象 k */

m13.addActionListener(k); /* 允许菜单项"退出"引发一个事件,该事件的处理者为当前对象 k */

f.setSize(350,200); // 设置框架f的大小

f.setJMenuBar(mb); // 设置框架f的菜单条为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); //创建并打开一个“保存文件对话框”

}

}

}

运行结果:

eb5cef263df030b8b641e16ff556d006.png

72997d94eee03f33760e4c6056361ded.png

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值