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

   

一、实验目的:

了解图形用户界面基本组件:框架、面板、按钮、标签、菜单、列表等的使用方法;了解如何使用布局管理器对组件进行管理;理解和掌握 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);
	   }
	} 
运行结果:

Java实验九---GUI标准组件及事件处理_第1张图片

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

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

       编写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); //创建并打开一个“保存文件对话框” 
}
        }
}

运行结果:
Java实验九---GUI标准组件及事件处理_第2张图片
Java实验九---GUI标准组件及事件处理_第3张图片

你可能感兴趣的:(Java实验九---GUI标准组件及事件处理)