




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第9章 事件处理(2)【实验目标】 完成本章的内容以后,您将达到:u 了解事件处理机制u 实现事件处理。u 本章实验给出了全面的操作步骤,请学生按照给出的步骤独立完成实验,以达到要求的实验目标。第一阶段指导学习(40分钟)目的与要求:一定要自己动手,一行一行代码亲自敲进去,理解,编译,并运行,掌握其使用方法。1.使用内部类,调用窗口事件。import java.awt.*;import javax.swing.*;import java.awt.event.*; public class SY3_5JFrame f; /定义窗体变量public static void main(String args) new SY3_5(); /构造方法初始化SY3_5()f=new JFrame(初始窗口);/创建窗口对象f.setSize(350,200);/设置窗口大小f.setVisible(true);/设置窗口是可视的f.addWindowListener(new WindowAdapter() /为窗口添加窗口事件适配器public void windowClosing(WindowEvent e) /关闭窗口事件的方法JOptionPane.showMessageDialog(f,即将关闭窗口);System.exit(0);); 总结: 2. 掌握事件处理的方法:内部类行为事件,窗体匿名类的使用。import java.awt.event.*;import javax.swing.*;import java.awt.*;public class Simple1 private static JFrame frame; /定义静态成员在内部类中可以使用。 private static JPanel myPanel; private JButton button1; private JButton button2; public Simple1() myPanel=new JPanel(); button1=new JButton(按钮1); button2=new JButton(按钮2); SimpleListener ourListener=new SimpleListener(); button1.addActionListener(ourListener); button2.addActionListener(ourListener); /多监听器,不同组件采用相同的监听器,相同的对象。 myPanel.add(button1); /添加按钮到面板 myPanel.add(button2); private class SimpleListener implements ActionListener /定义了内部类,使用内部类来监听所有组件产生的Action事件 public void actionPerformed(ActionEvent e) /利用getActionCommand获得按钮的名字。 String buttonName=e.getActionCommand(); if(buttonName.equals(按钮1) JOptionPane.showMessageDialog(frame,按钮1被点击); else if(buttonName.equals(按钮2) JOptionPane.showMessageDialog(frame,按钮2被点击); else JOptionPane.showMessageDialog(frame,未知事件); /主函数开始. public static void main(String args) Simple1 gui=new Simple1(); frame=new JFrame(Simple1); /处理窗体关闭事件的通常方法,采用内部匿名类 frame.addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) System.out.println(已经退出程序); System.exit(0); /退出窗体。 ); /把组件往内容面板上面放。 frame.getContentPane().add(myPanel); frame.pack(); frame.setVisible(true); 总结:3、掌握事件处理的方法,上题使用的另外一种方法:匿名类的使用。import java.awt.*;import javax.swing.*;import java.awt.event.*;public class Simple2 private static JFrame frame; /定义静态变量 private static JPanel myPanel; /定义面板用来放置按钮组件 private JButton button1; /定义按钮组件 private JButton button2; public Simple2() myPanel=new JPanel(); /新建面板 button1=new JButton(按钮1); button2=new JButton(按钮2); /定义一个匿名内部类来监听组件产生的事件。 button1.addActionListener(new ActionListener() /匿名类开始 public void actionPerformed(ActionEvent e) JOptionPane.showMessageDialog(frame,按钮1被点击); ); myPanel.add(button1); /添加按钮到面板 myPanel.add(button2); /主函数开始 public static void main(String args) Simple2 gui=new Simple2(); /新建Simple2组件 frame=new JFrame(Simple2); /新建JFrame /处理窗体关闭事件的通常方法。 frame.addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) System.exit(0); ); frame.getContentPane().add(myPanel); frame.pack(); frame.setVisible(true); 总结:第二阶段练习(40分
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 天津2025自考生物医药数据科学中国近现代史纲要简答题专练
- 吉林2025自考低空技术飞行控制与导航选择题专练
- 广西2025自考金融学银行会计学易错题专练
- 储能系统负荷预测与调节方案
- 天津2025自考低空技术低空经济概论案例题专练
- 甘肃2025自考行政管理公共政策分析考前冲刺练习题
- 新疆2025自考生物育种技术英语二易错题专练
- 甘肃2025自考大功率半导体科学功率器件原理选择题专练
- 海南2025自考法学环境与资源保护法学高频题考点
- 河南2025自考金融学马克思概论易错题专练
- 教师晋升答辩常见问题汇编
- 新加坡安全培训题库及答案解析
- (人教A版)选择性必修一数学高二上册 第一章 空间向量与立体几何(A卷·知识通关练+B卷提升练习)(原卷版)
- 国家安全教育大学生读本电子版教材2025年课件讲义全套合集
- 2025煤矿安全规程解读
- 初级消防员培训课程教学大纲
- 2025-2026学年北师大版数学小学三年级上册(全册)教案设计及教学计划
- 2025年“学宪法讲宪法”主题活动知识竞赛题库附答案
- 2025年党纪法规知识测试题(含答案)
- 护理伦理与法律
- 网赌网贷专题教育
评论
0/150
提交评论