软件工程——移动的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 ...
随机推荐
- Orcale新增、修改、删除字段
一.新增字段 alert table user add( userName VARCHAR2(255 CHAR) ) ; 设置字段不为空, 给出默认值 alert table user add( us ...
- 阿里八八β阶段Scrum(5/5)
今日进度 陈裕鹏: 简单信息抽取编码完成 叶文滔: 处理了信息抽取编码的一些BUG,修复了日程界面不会自动更新添加的日程的BUG,修改了原先测试用的TAG以及数据分析部分数据计算数值错误的问题 王国超 ...
- Java SE和Java EE应用的性能调优
凡事预则立,不预则废,和很多事情一样.Java性能调优的成功.离不开行动计划.方法或策略以及特定的领域背景知识.为了在Java性能调优工作中有所成就.你得超越"花似雾中看"的状态, ...
- JQuery获取touchstart,touchmove,touchend坐标
$('#id').on('touchstart',function(e) { ].pageX; }); JQuery如上. document.getElementById("id" ...
- Linux - CentOS7上的时间同步
1. 时区的概念 1.1 时区简介 地球是自西向东自转,东边比西边先看到太阳,东边的时间也比西边的早.东边时刻与西边时刻的差值不仅要以时计,而且还要以分和秒来计算,这给人们带来不便.所以为了克服时间上 ...
- leetcode 51. N-Queens 、52. N-Queens II
51. N-Queens 使用isValid判断当前的位置是否合法 每次遍历一行,使用queenCol记录之前行的存储位置,一方面是用于判断合法,另一方面可以根据存储结果输出最终的结果 class S ...
- 使用eclipse阅读java源码
很多时候想要阅读java源代码(无论是jdk自带的,还在第三方的),但是我们使用的jar包都是编译好的class包,无法在eclipse中直接打开,此时需要下载源码包. 本文以查看HttpClient ...
- (推荐)用C++来开发Skyline应用
原文地址:http://www.hailongchang.org/index.php/archives/category/terraexplorer 供大家学习参考.
- Mysql windows版本的安装
一.mysql官网下载 下载安装包 MySQL Community Server (GPL)--> 选用zip版本的 二.安装 解压mysql的安装包. 将bin目录配置到环境变量中.(即环境变 ...
- 各种工业以太网比较(EtherCAT,EtherNet/IP,ProfiNet,Modbus-TCP,Powerlink)
EtherCAT(以太网控制自动化技术)是一个以以太网为基础的开放架构的现场总线系统,EterCAT名称中的CAT为ControlAutomation Technology(控制自动化技术)首字母的缩 ...