A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 陈圳 高级黑马   /  2013-4-20 13:13  /  1357 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. package AWT;
  2. import java.awt.Point;
  3. import java.awt.event.MouseAdapter;
  4. import java.awt.event.MouseEvent;
  5. import java.awt.event.MouseMotionAdapter;
  6. import javax.swing.JFrame;
  7. import javax.swing.JLabel;
  8. import javax.swing.JTextField;
  9. public class MouseMove {
  10.         private JFrame frame=new JFrame();
  11.         private JLabel moveLabel=new JLabel("移动坐标:");
  12.         private JLabel clickLabel=new JLabel("按下坐标:");
  13.         private JLabel mousePoint=new JLabel();//时时记录鼠标坐标位置
  14.         private JTextField movePoint=new JTextField();//记录鼠标按下的坐标;
  15.         MouseMotionAdapter mml=new MouseMotionAdapter(){
  16.                 public void mouseMoved(MouseEvent e){
  17.                         Point point=e.getPoint();
  18.                         mousePoint.setText("坐标X:"+point.x+" "+"坐标Y:"+point.y);
  19.                 }
  20.         };
  21.         MouseAdapter ma=new MouseAdapter(){
  22.                 public void mouseClicked(MouseEvent e){
  23.                         Point point=e.getPoint();
  24.                         movePoint.setText("坐标X:"+point.x+" "+"坐标Y:"+point.y);
  25.                 }
  26.         };
  27.         MouseMove(){
  28.                 moveLabel.setBounds(0,0,80,15);
  29.                 clickLabel.setBounds(0,23,80,15);
  30.                 mousePoint.setBounds(60,0,130,15);
  31.                 movePoint.setBounds(60,20,130,20);//设置控件位置与大小
  32.                 movePoint.setEditable(false);//不许编辑控件;
  33.                 frame.setLayout(null);//设置布局为自由布局
  34.                 frame.setSize(400,300);
  35.                 frame.addMouseMotionListener(mml);
  36.                 frame.addMouseListener(ma);
  37.                 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  38.                 frame.add(mousePoint);
  39.                 frame.add(movePoint);
  40.                 frame.add(moveLabel);
  41.                 frame.add(clickLabel);
  42.         }
  43.         public static void main(String[] args) {
  44.                 new MouseMove().frame.setVisible(true);
  45.         }

  46. }
复制代码
javaGUI编程时,大家都知道,不用布局管理时不行,用了麻烦,用可视拖放生成的代码不好维护.自由布局是最好的选择,但是为每个控件计算摆放坐标,以及大小时,何其麻烦.
所以写了这个查看鼠标位置,以及记录单个坐标值的程序.在做自由布局软件时,有些帮助.

2 个回复

倒序浏览

回帖奖励 +50

楼主现在做的什么,小羡慕你的经验,是要进19期了吧
回复 使用道具 举报
曹睿翔 发表于 2013-4-20 13:21
楼主现在做的什么,小羡慕你的经验,是要进19期了吧

现在买了本书,天天做习题.那本书上每个习题都用GUI实现...而且只给出做题思路,我准备界面和习题都做来.已经面试19期过了.
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马