软件工程——移动的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 ...
随机推荐
- HEU预热赛
A题: 一道dp的题目 dp[i][j] = k 代表 i行放j个棋子有k中可能 dp[i][j] = dp[i-1][0] + dp[i-1][1] + dp[i-1][2] +...dp[i-1] ...
- Treiber Stack介绍
简介 Treiber Stack在 R. Kent Treiber在1986年的论文Systems Programming: Coping with Parallelism中首次出现.它是一种无锁并发 ...
- node_01_自定义模块(先创建package.json)
package.json必须是json格式 你必须确保所有的字符串,包括属性名,都是使用双引号而不是单引号 { "name": "163", "ver ...
- jeDeta 日历控件的那些坑
经过亲自测试 jeDeta 发现 jeDeta 还是有坑的: 1.参数 options 里面的 format 有很多种格式 API 里面写的是 format: 'YYYY-MM-DD hh:mm:ss ...
- [android]android Task 任务 简介
http://blog.csdn.net/guomeijuan916/article/details/8121468 关于Android中的组件和应用,之前涉及,大都是静态的概念.而当一个应用运行起来 ...
- go标准库的学习-time
参考https://studygolang.com/pkgdoc 导入形式: import "time" time包提供了时间的显示和测量用的函数.日历的计算采用的是公历. 1&g ...
- Cookie,Session的区别
1.Cookie 存储在用户本地上即客户端的数据,用来辨别用户的身份. 如果勾选了记住我则会在C盘中保存Cookie的信息,直至Cookie设置的有效期过期 注意: (1)记录用户访问次数 (2)不可 ...
- 剑指offer从上往下打印二叉树 、leetcode102. Binary Tree Level Order Traversal(即剑指把二叉树打印成多行、层序打印)、107. Binary Tree Level Order Traversal II 、103. Binary Tree Zigzag Level Order Traversal(剑指之字型打印)
从上往下打印二叉树这个是不分行的,用一个队列就可以实现 class Solution { public: vector<int> PrintFromTopToBottom(TreeNode ...
- 阿里图标库使用IconFont
1.注册账号登陆 2.创建项目 3.搜索想使用的图标,添加入库,或者上传自己的图标入库 4.在图标库中,将添加的图标加入项目 5.将项目图标下载至本地 6.下载文件为 包括三种格式,使用方法不同 Un ...
- FreeRTOS学习笔记--任务优先级
FreeRTOSConfig.h 中的常量configMAX_PRIORITIES的值就是任务优先级的最大数值,这个数值可以按照自己的需要改动,当然值越大,内核对内存的开销就越大,一般设置一个满足自己 ...