package com.home.test;

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

}

}

GuiHelloWorld的更多相关文章

  1. 软件工程——移动的HelloWorld

    package disiti;       import java.awt.Color;   import java.awt.Cursor;   import java.awt.Font;   imp ...

  2. 可移动的 HelloWorld

    package com.home.test; import java.awt.Color;import java.awt.Cursor;import java.awt.Font;import java ...

随机推荐

  1. windows下更改Mac地址

    方法一.在桌面上的“网上邻居”图标上单击右键,选择“属性”,在弹出的“网络连接”的对话框中,在“本地连接”图标上单击右键,选择“属性”,会弹出一个“本地连接属性”的对话框,单击“配置”按钮,选择“高级 ...

  2. Linux 小知识翻译 - 「Linux」和病毒

    据说,「Linux」系统上的病毒要远远少于Windows系统上病毒.从2种系统的普及度来看,这是很显然的, 「Linux」的使用人群很少,所以「Linux」上的病毒的扩散时,受害的范围也不大. 但是, ...

  3. Appium1.9 之 Chromedriver安装方式

    1.在 appium 官网上下载安装后,下载的是1.7.1的版本,安装之后是1.9.1最新版本. 2.appium安装之后,会发现涉及到 浏览器相关的业务时(我使用的是chrome)会提示 “No C ...

  4. [Jsoi2015]染色问题

    题目 看到这个限制条件有点多,我们就一直容斥好了 先容斥颜色,我们枚举至少不用\(i\)种颜色 再容斥列,我们枚举至少不用\(j\)列 最后容斥行,枚举至少不用\(k\)行 容斥系数显然是\((-1) ...

  5. 多个Linux发行版安装ss服务端

    本文仅做技术探讨,请在遵守相应的法律法规的前提下使用. Centos 7一键安装脚本 简单快捷,随机生成密码,默认端口默认加密类型 bash <(curl -s http://morning.w ...

  6. Mybatis集成(转)

    文章转自http://blog.csdn.net/l454822901/article/details/51829653 什么是Mybatis MyBatis 本是apache的一个开源项目iBati ...

  7. 百度云受邀成为 LF Edge 创始成员

    导读 1月24日,Linux Foundation(Linux基金会,以下简称LF)宣布正式成立旗下子机构边缘计算基金会LF Edge,旨在建立边缘计算统一开源框架.百度云受邀成为创始成员. 中国公司 ...

  8. Ubuntu触摸屏校准

    我是在ubuntu系统中使用触摸屏,我的是两块屏幕一个是触摸屏幕一个是普通的屏幕,触摸屏使用需要校准,所以要直接入一个触摸屏,或者两个屏幕是复制的关系,不能是扩展. 1.安装已下的两个软件,有可能第一 ...

  9. 关于PHP程序员技术职业生涯规划

    看到很多PHP程序员职业规划的文章,都是直接上来就提Linux.PHP.MySQL.Nginx.Redis.Memcache.jQuery这些,然后就直接上手搭环境.做项目,中级就是学习各种PHP框架 ...

  10. ASP.NET MVC学习笔记(一) 从路由开始创建mvc

    之前一篇写一半发现版本太老了,是基于mvc2的. 两本参考书编写的顺序各方面都不太一样.决定重新写一篇. 我这篇文章基于mvc5,vs2015 参考书:Will保哥的ASP.NET MVC4开发指南 ...