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 |
|
|
|
} |
|
|
|
} |