软件工程——移动的HelloWorld
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的更多相关文章
- 软件工程——HelloWorld
#include main(){ printf("Hello World\n"); }
- 软件工程(C编码实践篇)学习心得
孟繁琛 + 原创作品转载请注明出处 + <软件工程(C编码实践篇)>MOOC课程 http://mooc.study.163.com/course/USTC-1000002006 软件工程 ...
- 软件工程(C编码实践篇)总结
陆伟丹 + 原创作品转载请注明出处 + <软件工程(C编码实践篇)>MOOC课程http://mooc.study.163.com/course/USTC-1000002006 对软件工程 ...
- 《hello--world团队》第一次作业:团队亮相
项目 内容 这个作业属于哪个课程 2016级计算机科学与工程学院软件工程(西北师范大学) 这个作业的要求在哪里 实验五 团队作业:软件研发团队组建 团队名称 <hello--world团队> ...
- OSGI框架—HelloWorld小实例
OSGi(Open Service Gateway Initiative)技术是Java动态化模块化系统的一系列规范.OSGi一方面指维护OSGi规范的OSGI官方联盟,另一方面指的是该组织维护的基于 ...
- 《hello-world》第八次团队作业:Alpha冲刺
项目 内容 这个作业属于哪个课程 2016级计算机科学与工程学院软件工程(西北师范大学) 这个作业的要求在哪里 实验十二 团队作业8:软件测试与Alpha冲刺 团队名称 <hello--worl ...
- 《hello-world》第八次团队作业:Alpha冲刺-Scrum Meeting 1
项目 内容 这个作业属于哪个课程 2016级计算机科学与工程学院软件工程(西北师范大学) 这个作业的要求在哪里 实验十二 团队作业8:软件测试与Alpha冲刺 团队名称 <hello--worl ...
- 《hello-world》第八次团队作业:Alpha冲刺-Scrum Meeting 2
项目 内容 这个作业属于哪个课程 2016级计算机科学与工程学院软件工程(西北师范大学) 这个作业的要求在哪里 实验十二 团队作业8:软件测试与Alpha冲刺 团队名称 <hello--worl ...
- 《hello-world》第八次团队作业:Alpha冲刺-Scrum Meeting 3
项目 内容 这个作业属于哪个课程 2016级计算机科学与工程学院软件工程(西北师范大学) 这个作业的要求在哪里 实验十二 团队作业8:软件测试与Alpha冲刺 团队名称 <hello--worl ...
随机推荐
- Gradle的介绍与安装
Gradle简介 Gradle是一款致力于自动化构建和对多种开发语言的支持的构建工具.如果你想在任意开发平台上构建.测试.发布和部署软件,那么Gradle提供了一个非常灵活的模型,可以支持整个开发生命 ...
- 5、爬虫系列之scrapy框架
一 scrapy框架简介 1 介绍 (1) 什么是Scrapy? Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架,非常出名,非常强悍.所谓的框架就是一个已经被集成了各种功能(高性能 ...
- django 中的 ajax
(Asynchronous Javascript And XML ) 特点: 异步 页面局部刷新 传递的数据量小 ajax 请求返回数据 重定向 location.href='/index/' 发请求 ...
- Android开发学习笔记(二)——编译和运行原理(1)
http://www.cnblogs.com/Pickuper/archive/2011/06/14/2078969.html 接着上一篇的内容,继续从全局了解Android.在清楚了Android的 ...
- 添加xmlns:android="http://schemas.android.com/apk/res/android"的意思
http://www.cnblogs.com/lovely/archive/2013/01/17/2865192.html xmlns:android="http://schemas.and ...
- centos7升级内核版本
本文转载http://blog.csdn.net/nciasd/article/details/51490146,大神非常厉害!!!!! 查看当前系统的内核版本 # uname -r 1.导入key ...
- Js 不支持函数的重载
Js 不支持函数的重载,可以用相同的名字在同一作用区域,定义两个函数,而不会引起错误,但真正使用的是最后一个. Js 不会验证传递给函数的参数个数是否和函数定义的参数的个数相同,开发人员定义的函数都可 ...
- PHP数组转为树的算法
一.使用引用 function listToTree($list, $pk = 'id', $pid = 'pid', $child = '_child', $root = 0) { $tree = ...
- 【SQL】sql update 多表关联更新方法总结
#表结构: 1.表一:Test1 Id name age 1 2 2.表二:Test2 Id name age 1 小明 10 2 小红 8 #实现将表Test2的name和age字段 ...
- MVC思想及SpringMVC设计理念
1:什么是MVC MVC(Model View Controller)是一种软件设计的框架模式,它采用模型(Model)-视图(View)-控制器(controller)的方法把业务逻辑 ...