【Java开源代码栏目提醒】:本文主要为网学会员提供AdapterDemo.java,希望对需要AdapterDemo.java网友有所帮助,学习一下!
package Chapter12;
//文件:程序12.9 AdapterDemo.java 描述:事件适配器使用
//导入需要使用的包和类
import java.awt.*;
import java.awt.event.*;
public class AdapterDemo {
public static void main(String[] args) {
new AdapterDemo(); // 创建AdapterDemo实例
}
// 声明AdapterDemo构造方法
public AdapterDemo() {
f = new Frame("请单击,或拖动鼠标"); // 初始化窗口f
panel = new Panel(); // 初始化面板panel
f.add("Center", panel); // 在窗口Center位置添加panel
//
注册监听器MouseEvent
panel.addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent e) {
start = e.getPoint(); // 获取鼠标事件坐标
System.out.println(start); // 输出坐标
}
public void mouseReleased(MouseEvent e) {
end = e.getPoint(); // 获取鼠标事件坐标
System.out.println(end); // 输出坐标
Graphics g = panel.getGraphics(); // 获取面板图形上下文
panel.paint(g); // 面板图形绘制
g.drawLine(start.x, start.y, end.x, end.y); // 在面板中画线
}
});
// 为窗口f添加窗口监听器
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) { // 覆盖方法windowClosing
System.exit(1); //
程序退出
}
});
f.setSize(400, 300); // 设置窗口大小
f.setVisible(true); // 显示窗口
}
private Frame f; // 声明Frame类型域f
Point start, end; // 声明Point类型域start,end
Panel panel; // 声明Panel类型域panel
}