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. 17秋 软件工程 团队第五次作业 Alpha Scrum7

    17秋 软件工程 团队第五次作业 Alpha Scrum7 今日完成的任务 世强:部员详情列表的编写与数据交互,完善APP通知模块: 港晨:完成前端登陆界面编写: 树民:完善Web后端数据库访问模块: ...

  2. Beta冲刺! Day5 - 砍柴

    Beta冲刺! Day5 - 砍柴 今日已完成 晨瑶:陪全队肝到最后一刻 昭锡:更改了主页UI 永盛:剩余的接口改动和新增 立强:文章增加缩略图预览,收藏功能第三方编辑器整合. 炜鸿:继续完成站内信功 ...

  3. Activity与view

    Activity的作用:一个Activity相当于一个容器,用于存放各种控件的容器,也可以理解为是与用户交互的接口 创建Activity的要点:  1.一个Activity就是一个类,并且这个类要继承 ...

  4. 原生js删除元素

    //删除id var idObject = document.getElementById('sidebar'); if (idObject != null) idObject.parentNode. ...

  5. Arduino IDE for ESP8266教程(二) 创建WIFI AP模式

    创建WIFI热点 #include <ESP8266WiFi.h> void setup() { Serial.begin ( 115200 ); Serial.println(" ...

  6. Ubuntu 14.04服务器配置 (1) 安装和配置

    http://jingyan.baidu.com/article/9c69d48fb9fd7b13c8024e6b.html ssh是一种安全协议,主要用于给远程登录会话数据进行加密,保证数据传输的安 ...

  7. 20145236《网络攻防》Exp4 恶意代码分析

    20145236<网络攻防>Exp4 恶意代码分析 一.基础问题回答 如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作有哪些 ...

  8. mysql数据类型介绍(含text,longtext,mediumtext说明)

    转自http://m.blog.csdn.net/sipsir/article/details/12343581 转载,文章原连接已经失效,百度快照找到的. MySQL支持大量的列类型,它可以被分为3 ...

  9. JavaScript高级程序设计学习(二)之基本概念

    任何语言的核心都必然会描述这门语言基本的工作原理.而描述的内容通常都要涉及这门语 言的语法.操作符.数据类型.内置功能等用于构建复杂解决方案的基本概念.如前所述, ECMA-262通过叫做 ECMAS ...

  10. 20175310 《Java程序设计》第5周学习总结

    20175310 <Java程序设计>第5周学习总结 本周博客: <20175310 迭代和JDB - 20175310xcy - 博客园> https://www.cnblo ...