【JAVA语言程序设计基础篇】--事件驱动程序设计--鼠标事件

来源:互联网 发布:mac口红膏体不光滑 编辑:程序博客网 时间:2024/05/16 04:17


点击文字 鼠标拖动 文字会随鼠标拖动

package chapter16;import java.awt.BorderLayout;import java.awt.Graphics;import java.awt.event.MouseEvent;import java.awt.event.MouseMotionListener;import javax.swing.JFrame;import javax.swing.JPanel;@SuppressWarnings("serial")public class MoveMessageDemo extends JFrame{public MoveMessageDemo(){MoveableMessagePanel p = new MoveableMessagePanel();setLayout(new BorderLayout());add(p);}public static void main(String[] args) {MoveMessageDemo frame = new MoveMessageDemo();    frame.setLocationRelativeTo(null); // Center the frame    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);    frame.setTitle("AdapterDemo");    frame.setSize(220, 200);    frame.setVisible(true);}class MoveableMessagePanel extends JPanel{private String message = "this is a test";private int x = 20;private int y = 20;public  MoveableMessagePanel(){addMouseMotionListener(new MouseMotionListener() {@Overridepublic void mouseDragged(java.awt.event.MouseEvent e) {    x=e.getX();    y=e.getY();repaint();}@Overridepublic void mouseMoved(MouseEvent e) {}});}public MoveableMessagePanel(String string) {message = string;addMouseMotionListener(new MouseMotionListener() {@Overridepublic void mouseDragged(java.awt.event.MouseEvent e) {    x=e.getX();    y=e.getY();repaint();}@Overridepublic void mouseMoved(MouseEvent e) {}});}protected void paintComponent(Graphics g) {super.paintComponent(g);g.drawString(message, x, y);}}}


0 0