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

软件工程——移动的HelloWorld的更多相关文章

  1. 软件工程——HelloWorld

    #include main(){ printf("Hello World\n"); }

  2. 软件工程(C编码实践篇)学习心得

    孟繁琛 + 原创作品转载请注明出处 + <软件工程(C编码实践篇)>MOOC课程 http://mooc.study.163.com/course/USTC-1000002006 软件工程 ...

  3. 软件工程(C编码实践篇)总结

    陆伟丹 + 原创作品转载请注明出处 + <软件工程(C编码实践篇)>MOOC课程http://mooc.study.163.com/course/USTC-1000002006 对软件工程 ...

  4. 《hello--world团队》第一次作业:团队亮相

    项目 内容 这个作业属于哪个课程 2016级计算机科学与工程学院软件工程(西北师范大学) 这个作业的要求在哪里 实验五 团队作业:软件研发团队组建 团队名称 <hello--world团队> ...

  5. OSGI框架—HelloWorld小实例

    OSGi(Open Service Gateway Initiative)技术是Java动态化模块化系统的一系列规范.OSGi一方面指维护OSGi规范的OSGI官方联盟,另一方面指的是该组织维护的基于 ...

  6. 《hello-world》第八次团队作业:Alpha冲刺

    项目 内容 这个作业属于哪个课程 2016级计算机科学与工程学院软件工程(西北师范大学) 这个作业的要求在哪里 实验十二 团队作业8:软件测试与Alpha冲刺 团队名称 <hello--worl ...

  7. 《hello-world》第八次团队作业:Alpha冲刺-Scrum Meeting 1

    项目 内容 这个作业属于哪个课程 2016级计算机科学与工程学院软件工程(西北师范大学) 这个作业的要求在哪里 实验十二 团队作业8:软件测试与Alpha冲刺 团队名称 <hello--worl ...

  8. 《hello-world》第八次团队作业:Alpha冲刺-Scrum Meeting 2

    项目 内容 这个作业属于哪个课程 2016级计算机科学与工程学院软件工程(西北师范大学) 这个作业的要求在哪里 实验十二 团队作业8:软件测试与Alpha冲刺 团队名称 <hello--worl ...

  9. 《hello-world》第八次团队作业:Alpha冲刺-Scrum Meeting 3

    项目 内容 这个作业属于哪个课程 2016级计算机科学与工程学院软件工程(西北师范大学) 这个作业的要求在哪里 实验十二 团队作业8:软件测试与Alpha冲刺 团队名称 <hello--worl ...

随机推荐

  1. 路由交换01-----ICMP协议

    路由交换协议------ICMP ICMP协议 ICMP (InternetControl Message Protocol)协议是TCP/IP协议簇的核心协议之一,用来在网络设备之间传递各种差错和控 ...

  2. spark-Scala

    一.spark的特点 1.快速的 2.容易使用的 3.通用的 4.开放的 二.spark组件 sparkCore sparkSQL sparkStreaming MLibmachielearning ...

  3. UUChart的使用

    一.简介 UUChart是一个用于绘制图表的第三方,尤其适合去绘制折线图.自己再做一个医院相关的项目时,需要对一周内的血压进行监控,需要绘制折线图来表示出高压.低压的走向,因此学习了一下. 二.下载地 ...

  4. luogu P2860 [USACO06JAN]冗余路径Redundant Paths

    题目描述 In order to get from one of the F (1 <= F <= 5,000) grazing fields (which are numbered 1- ...

  5. Android AbsListView Abs前缀

    Android AbsListView Abs abstract:抽象

  6. LCA树链剖分

    LCA(Lowest Common Ancestor 最近公共祖先)定义如下:在一棵树中两个节点的LCA为这两个节点所有的公共祖先中深度最大的节点. 比如这棵树 结点5和6的LCA是2,12和7的LC ...

  7. data函数参数

    date(format,timestamp); 参数 描述 format 必需.规定输出日期字符串的格式.可使用下列字符: d - 一个月中的第几天(从 01 到 31) D - 星期几的文本表示(用 ...

  8. Linux 之 rsyslog 系统日志转发

    一.rsyslog 介绍 ryslog 是一个快速处理收集系统日志的程序,提供了高性能.安全功能和模块化设计.rsyslog 是syslog 的升级版,它将多种来源输入输出转换结果到目的地,据官网介绍 ...

  9. mysql数据库的test类型

    文章参考自 window系统参考:http://blog.sina.com.cn/s/blog_46f7bb6d0102vde3.html linux 参考:http://www.linuxeye.c ...

  10. Cookie、sessionStorage与localStorage的区别

    (1) sessionStorage 保存数据的方法: SessionStor.setItem(“key”,”value”) 或者写成 sessionStorage.key=”value” 读取数据的 ...