package ch10;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseMotionAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class MouseMotionAdapterDemo extends MouseMotionAdapter{
JFrame frame;
JPanel jPanel;
JButton b1Button;
int x,y;
public MouseMotionAdapterDemo() {
frame = new JFrame("画板");
jPanel = new JPanel();
//注册鼠标监听
jPanel.addMouseMotionListener(this);
b1Button = new JButton("重新画图");
//为b1注册监听
b1Button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// TODO 自动生成的方法存根
jPanel.getGraphics().clearRect(0, 0, jPanel.getWidth(), jPanel.getHeight());
}
});
jPanel.add(b1Button);
frame.add(jPanel);
frame.setVisible(true);
frame.setSize(500,500);
frame.setLocation(200,300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
//重写JFrame的paint()方法,用于在窗体中画图
public void paint(Graphics g) {
//设置画笔颜色
g.setColor(Color.blue);
//画一个实心圆
g.fillOval(x, y, 10, 10);
}
//鼠标拖动的处理方法
public void mouseDragged(MouseEvent e) {
x = e.getX();
y = e.getY();
frame.repaint();
}
public static void main(String[] args) {
new MouseMotionAdapterDemo();
}
}