软件工程——移动的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 ...
随机推荐
- Spring boot + mybatis + orcale
接着上次的实现, 添加 mybatis 查询 orcale 数据库 第一步: 新建几个必须的包, 结果如下 第二步: 在service包下新建personService.java 根据名字查perso ...
- kafka管理器之kafka-manager
功能 为了简化开发者和服务工程师维护Kafka集群的工作,yahoo构建了一个叫做Kafka管理器的基于Web工具,叫做 Kafka Manager.这个管理工具可以很容易地发现分布在集群中的哪些to ...
- Html body的滚动条禁止与启用
在写一个在页面中,经验证用户没有登录或session失效时候弹出登录框禁止页面滚动用到今天搞了一个功能,上下左右居中,模仿QQ空间里的样式,把横向和纵向滚动条禁止掉代码如下:<script ty ...
- BSOJ 2414 -- 【JSOI2011】分特产
Description JYY 带队参加了若干场ACM/ICPC 比赛,带回了许多土特产,要分给实验室的同学们. JYY 想知道,把这些特产分给N 个同学,一共有多少种不同的分法?当然,JYY 不希望 ...
- python六十三课——高阶函数之sorted
演示sorted函数的使用,以及和sort的区别:我们将sorted和sort进行一番比较:相同点:它们都是来实现排序的操作(功能层面)不同点:列表中的sort函数,它执行完毕后会直接影响原本这个li ...
- 20145203盖泽双 《网络对抗技术》实践1—— MAL_逆向与Bof基础
20145203盖泽双 <网络对抗技术> MAL_逆向与Bof基础 实践目标 (1)我们要通过修改程序代码,使得程序运行其自身中本不该运行的代码片段. (2)在这里,我们有一个名为2014 ...
- MetaMask/safe-event-emitter
https://github.com/MetaMask/safe-event-emitter safe-event-emitter An EventEmitter that isolates the ...
- nodejs stream 手册学习
nodejs stream 手册 https://github.com/jabez128/stream-handbook 在node中,流可以帮助我们将事情的重点分为几份,因为使用流可以帮助我们将实现 ...
- 一个网工的Linux学习过程
机缘巧合下,在快要毕业时找到了一份网络工程师的工作,对于学习通信工程的我来说,也不算是跨专业就业吧.在入职之前也了解了一下网络工程师的学习路径,网络工程师是从事计算机信息系统的设计.建设.运行和维护工 ...
- 如何用css实现"等高布局"。
有时候为了让网页实现美观,在不知道高度的情况下,我们要用css实现等高布局效果,传统的方法, 我们可以用javascript实现,但是由于需求决定或者其他的情况下,我们只能用css实现,其方法主要是采 ...