| package disiti; | |
| import java.awt.Color; | |
| import java.awt.Cursor; | |
| import java.awt.Font; | |
| import java.awt.Point; | |
| import java.awt.event.MouseEvent; | |
| import javax.swing.JLabel; | |
| import javax.swing.JWindow; | |
| import javax.swing.event.MouseInputListener; | |
| public class GuiHelloWorld extends JWindow { | |
| private static final long serialVersionUID = 1L; | |
| JLabel titleLbl; | |
| Font GuiHelloWorldFont; | |
| public GuiHelloWorld() { | |
| GuiHelloWorldFont = new Font("幼圆", Font.ITALIC, 28); | |
| this.getContentPane().setBackground(new Color(0x99FF66)); | |
| this.setBounds(400, 200, 200, 60); | |
| this.setLayout(null); | |
| titleLbl = new JLabel(" Hello World!"); | |
| titleLbl.setFont(GuiHelloWorldFont); | |
| titleLbl.setOpaque(true); | |
| titleLbl.setBackground(new Color(0x66CC00)); | |
| titleLbl.setBounds(0, 0, 200, 60); | |
| this.add(titleLbl); | |
| // 鼠标事件处理类 | |
| MouseEventListener mouseListener = new MouseEventListener(this); | |
| titleLbl.addMouseListener(mouseListener); | |
| titleLbl.addMouseMotionListener(mouseListener); | |
| this.setVisible(true); | |
| } | |
| public static void main(String[] args) { | |
| new GuiHelloWorld(); | |
| } | |
| } | |
| class MouseEventListener implements MouseInputListener { | |
| Point origin; // 鼠标拖拽想要移动的目标组件 | |
| GuiHelloWorld frame; | |
| public MouseEventListener(GuiHelloWorld frame) { | |
| this.frame = frame; | |
| origin = new Point(); | |
| } | |
| public void mouseClicked(MouseEvent e) { | |
| // TODO Auto-generated method stub | |
| } | |
| public void mousePressed(MouseEvent e) { | |
| // TODO Auto-generated method stub | |
| origin.x = e.getX(); | |
| origin.y = e.getY(); | |
| } | |
| public void mouseReleased(MouseEvent e) { | |
| // TODO Auto-generated method stub | |
| } | |
| public void mouseEntered(MouseEvent e) { | |
| // TODO Auto-generated method stub | |
| this.frame.setCursor(Cursor.getPredefinedCursor(Cursor.MOVE_CURSOR)); | |
| } | |
| public void mouseExited(MouseEvent e) { | |
| // TODO Auto-generated method stub | |
| this.frame.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR)); | |
| } | |
| public void mouseDragged(MouseEvent e) { | |
| // TODO Auto-generated method stub | |
| Point p = this.frame.getLocation(); | |
| this.frame.setLocation(p.x + (e.getX() - origin.x), p.y | |
| + (e.getY() - origin.y)); | |
| } | |
| public void mouseMoved(MouseEvent e) { | |
| // TODO Auto-generated method stub | |
| } | |
| } |
原文:http://www.cnblogs.com/tibosi/p/4456538.html