博学谷——让IT教学更简单,让IT学习更有效
}
}
}
public void windowDeactivated(WindowEvent e) { }
public void windowClosing(WindowEvent e) { }
public void windowClosed(WindowEvent e) { }
System.out.println(\窗体关闭\System.out.println(\窗体正在关闭\((Window) e.getComponent()).dispose(); System.out.println(\窗体停用\System.out.println(\窗体取消图标化\
});
运行结果如图9-4所示。
图9-4 运行结果
从上图可以看出,当对窗口进行操作时,程序监听到了这些窗体事件。
三、案例总结
在本案例中,通过WindowListener对操作窗口的动作事件进行监听,当接收到特定的动作后,就将所触发事件的名称打印出来。了解了窗体事件,在以后的编程中,可以根据实际需求,在监听器中自定义窗体的处理事件器。
案例9-4鼠标事件 一、案例描述
1、 考核知识点
编号:00109005 名称:鼠标事件
2、 练习目标
? 掌握鼠标事件的处理
3、 需求分析
6
博学谷——让IT教学更简单,让IT学习更有效
在图形用户界面中,用户会经常通过鼠标来进行选择、切换界面等操作,这些操作被定义为鼠标事件,JDK中提供了一个MouseEvent类用于表示鼠标事件。为了让初学者熟悉鼠标事件的处理。本案例将演示如何监听鼠标事件。
4、 设计思路(实现原理)
1) 编写一个类Example04,创建一个窗口。 2) 创建按钮对象,并在窗口添加按钮组件。 3) 为按钮添加鼠标事件监听器。
4) 运行程序生成窗体,用鼠标操作窗口中的按钮,观察控制台的输出。
二、案例实现
import java.awt.*; import java.awt.event.*; public class Example04 { }
7
public static void main(String[] args) { }
final Frame f = new Frame(\鼠标事件\// 为窗口设置布局
f.setLayout(new FlowLayout()); f.setSize(300, 200); f.setLocation(300, 200); f.setVisible(true);
Button but = new Button(\按钮\创建按钮对象 f.add(but); // 在窗口添加按钮组件 // 为按钮添加鼠标事件监听器
but.addMouseListener(new MouseListener() {
public void mouseReleased(MouseEvent e) { }
public void mousePressed(MouseEvent e) { }
public void mouseExited(MouseEvent e) { }
public void mouseEntered(MouseEvent e) { }
public void mouseClicked(MouseEvent e) { }
System.out.println(\鼠标完成点击\System.out.println(\鼠标进入按钮区域\System.out.println(\鼠标移出按钮区域\System.out.println(\鼠标按下\System.out.println(\鼠标放开\
});
博学谷——让IT教学更简单,让IT学习更有效
运行程序后生成窗体如图9-5所示。
图9-5 鼠标事件窗体
用鼠标点击按钮,运行结果如图9-6所示。
图9-6 运行结果
三、案例总结
除了本案例中演示的鼠标事件,MouseEvent类中定义了很多常量来标识鼠标动作,具体代码如下。
public void mouseClicked(MouseEvent e) { }
if(e.getButton()==e.BUTTON1){ }
System.out.println(\鼠标左击事件\
if(e.getButton()==e.BUTTON3){ }
if(e.getButton()==e.BUTTON2){ }
System.out.println(\鼠标中键点击事件\System.out.println(\鼠标右击事件\
MouseEvent类中针对鼠标的按键都定义了对应的常量,可以通过MouseEvent对象的getButton()方法获取被操作按键的常量键值,从而判断是哪个按键的操作。另外,鼠标的点击次数也可以通过MouseEvent对象的getClickCount()方法获取到。
案例9-5 键盘事件 一、案例描述
1、 考核知识点
8
博学谷——让IT教学更简单,让IT学习更有效
编号:00109006 名称:键盘事件
2、 练习目标
? 掌握键盘事件的处理
3、 需求分析
键盘操作是常用的用户交互方式,例如键盘按下、释放等,这些操作被定义为键盘事件,JDK中提供了一个KeyEvent类表示键盘事件。为了让初学者掌握键盘事件的处理,本案例将演示如何监听键盘事件。
4、 设计思路(实现原理)
1)编写类Example05,创建一个窗体。 2)在窗体中创建文本框对象。 3)为文本框添加键盘事件监听器
4)运行程序,在窗体的文本框中输入内容,观察控制台的输出情况
二、案例实现
import java.awt.*; import java.awt.event.*; public class Example05 { }
public static void main(String[] args) { }
Frame f = new Frame(\键盘事件\f.setLayout(new FlowLayout()); f.setSize(400, 300); f.setLocation(300, 200);
TextField tf = new TextField(30); // 创建文本框对象 f.add(tf); // 在窗口中添加文本框组件 f.setVisible(true);
tf.addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent e) { }
int KeyCode = e.getKeyCode(); // 返回所按键对应的整数值
String s = KeyEvent.getKeyText(KeyCode); // 返回按键的字符串描述 System.out.print(\输入内容为:\System.out.println(\为:\
// 为文本框添加键盘事件监听器
});
运行结果如图9-7所示。
9
博学谷——让IT教学更简单,让IT学习更有效
图9-7 键盘事件
在文本框中输入“www.itcast.cn”,控制台输出如图9-8所示。
图9-8 运行结果
三、案例总结
本案例中,当在图9-7中的文件框中键入字符时,便触发了键盘事件。这时,KeyEvent类通过调用getKeyCode()方法将输入内容对应的整数值返回,即keyCode。在KeyEvent类中还有一个静态方法getKeyText(int keyCode),它可以将按键内容以String形式返回。
案例9-6 FlowLayout布局管理器 一、案例描述
1、 考核知识点
编号:00109008
名称:FlowLayout布局管理器
2、 练习目标
? 掌握FlowLayout布局管理器的使用
3、 需求分析
流式布局管理器是最简单的布局管理器,在这种布局下,容器会将组件按照添加顺序从左向右放置。为了让初学者熟悉流式布局管理器,本案例将演示FlowLayout布局管理器的用法。
10