软件工程——移动的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 ...
随机推荐
- January 12th, 2018 Week 02nd Friday
Nothing behind me, everything ahead of me, as is ever so on the road. 我的身后空空荡荡,整个世界都在前方,这就是在路上. That ...
- leetcode 44. Wildcard Matching(模糊匹配)
搬运工了- - https://blog.csdn.net/jmspan/article/details/51460021
- 基于tomcat插件的maven多模块工程热部署(附插件源码)
内容属原创,转载请注明出处 写在前面的话 最近一直比较纠结,归根结底在于工程的模块化拆分.以前也干过这事,但是一直对以前的结果不满意,这会重操旧业,希望搞出个自己满意的结果. 之前有什么不满意的呢? ...
- Python程序的编写方式
直接在Python的交互式环境编写代码 现在,了解了如何启动和退出Python的交互式环境,我们就可以正式开始编写Python代码了. 在写代码之前,请千万不要用“复制”-“粘贴”把代码从页面粘贴到你 ...
- centos7下安装docker(2镜像)
docker最小的镜像——hello-world 下载镜像 docker pull docker pull hello-world 查看镜像 docker images docker images ...
- Kafka远程调试简单记录
Kafka启动脚本: ./kafka-server-start.sh -daemon ../config/server.properties 最终翻阅脚本可以确定是调用kafka-run-class. ...
- metamascara学习导论
研究了一段时间的metamascara终于有了一点起色,因为前段时间有一个小伙伴问了我一个问题,就是能不能将metamask嵌入到自己设计的网站中,在自己要进行交易的时候也会弹出一个页面来让用户确认这 ...
- python3 day01 大纲
1. 简介python 龟叔 89年 人工智能 2. 特点 优点: 简单, 明确, 优雅,跨平台 缺点: 慢 解释型编程语言 分类: 解释型: 一行一行的把代码进行翻译. 执行效率比较低 优势: 跨平 ...
- Qt+QGis二次开发:加载栅格图层和矢量图层
一.加载栅格图像 加载栅格图像的详细步骤在下面代码里: //添加栅格数据按钮槽函数 void MainWindow::addRasterlayers() { //步骤1:打开文件选择对话框 QStri ...
- [转]Qt中定时器使用的两种方法
Qt中定时器的使用有两种方法,一种是使用QObject类提供的定时器,还有一种就是使用QTimer类. 其精确度一般依赖于操作系统和硬件,但一般支持20ms.下面将分别介绍两种方法来使用定时器. 方法 ...