package com.home.test;
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
}
}
GuiHelloWorld的更多相关文章
-
软件工程——移动的HelloWorld
package disiti; import java.awt.Color; import java.awt.Cursor; import java.awt.Font; imp ...
-
可移动的 HelloWorld
package com.home.test; import java.awt.Color;import java.awt.Cursor;import java.awt.Font;import java ...
随机推荐
-
1password密码库格式更新
由于国内网络安全做的太差,经常发生被脱裤的事件,比如最近的网易邮箱(via 乌云),所以只好用1password这类密码管理软件,实现一站一密.昨晚半夜冻醒了,刷推刷到了这个:1password-le ...
-
HTML中noscript的用法
noscript 元素用来定义在脚本未被执行时的替代内容(文本).此标签可被用于可识别 <script> 元素用来定义在脚本未被执行时的替代内容(文本). 标签但无法支持其中的脚本的浏览器 ...
-
JAVA spring 常用包作用
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...
-
在xp下无人值守自动安装系统
无人值守安装可以大大缩短安装系统的时间.我在虚拟机测试成功. 先给文件链接https://files.cnblogs.com/files/sishenzaixian/%E8%87%AA%E5%8A%A ...
-
js初学练手:Csdn Ads Cleaner
最新版本在这里哒:https://greasyfork.org/zh-CN/scripts/376621-csdn-ads-cleaner 隔壁csdn的广告太猖獗啦!写个js管管它 需配合Tempe ...
-
Spring事务的传播:PROPAGATION_REQUIRED
PROPAGATION_REQUIRED-- 支持当前事务,如果当前没有事务,就新建一个事务.这是最常见的选择. ServiceA { void methodA() { ServiceB.method ...
-
php redis队列操作
php redis队列操作 rpush/rpushx 有序列表操作,从队列后插入元素:lpush/lpushx 和 rpush/rpushx 的区别是插入到队列的头部,同上,'x'含义是只对已存在的 ...
-
Python 正则介绍
正则表达式是一种小型的,高度专业化的变成语言,在 Python 中,它通过 re 模块实现.正则表达式模式被编译成一系列的字节码,然后由用 C 编写的引擎执行. findall() 方法,所有匹配的结 ...
-
ldap集成confluence
confluence ldap配置跟jira ldap集成一样,请参考:https://www.cnblogs.com/imcati/p/9378668.html
-
『MXNet』第十弹_物体检测SSD
全流程地址 一.辅助API介绍 mxnet.image.ImageDetIter 图像检测迭代器, from mxnet import image from mxnet import nd data_ ...