- package AWT;
- import java.awt.Point;
- import java.awt.event.MouseAdapter;
- import java.awt.event.MouseEvent;
- import java.awt.event.MouseMotionAdapter;
- import javax.swing.JFrame;
- import javax.swing.JLabel;
- import javax.swing.JTextField;
- public class MouseMove {
- private JFrame frame=new JFrame();
- private JLabel moveLabel=new JLabel("移动坐标:");
- private JLabel clickLabel=new JLabel("按下坐标:");
- private JLabel mousePoint=new JLabel();//时时记录鼠标坐标位置
- private JTextField movePoint=new JTextField();//记录鼠标按下的坐标;
- MouseMotionAdapter mml=new MouseMotionAdapter(){
- public void mouseMoved(MouseEvent e){
- Point point=e.getPoint();
- mousePoint.setText("坐标X:"+point.x+" "+"坐标Y:"+point.y);
- }
- };
- MouseAdapter ma=new MouseAdapter(){
- public void mouseClicked(MouseEvent e){
- Point point=e.getPoint();
- movePoint.setText("坐标X:"+point.x+" "+"坐标Y:"+point.y);
- }
- };
- MouseMove(){
- moveLabel.setBounds(0,0,80,15);
- clickLabel.setBounds(0,23,80,15);
- mousePoint.setBounds(60,0,130,15);
- movePoint.setBounds(60,20,130,20);//设置控件位置与大小
- movePoint.setEditable(false);//不许编辑控件;
- frame.setLayout(null);//设置布局为自由布局
- frame.setSize(400,300);
- frame.addMouseMotionListener(mml);
- frame.addMouseListener(ma);
- frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- frame.add(mousePoint);
- frame.add(movePoint);
- frame.add(moveLabel);
- frame.add(clickLabel);
- }
- public static void main(String[] args) {
- new MouseMove().frame.setVisible(true);
- }
- }
复制代码 javaGUI编程时,大家都知道,不用布局管理时不行,用了麻烦,用可视拖放生成的代码不好维护.自由布局是最好的选择,但是为每个控件计算摆放坐标,以及大小时,何其麻烦.
所以写了这个查看鼠标位置,以及记录单个坐标值的程序.在做自由布局软件时,有些帮助.
|
|