Atitit. 悬浮窗口的实现 java swing c# .net c++ js html 的实现
Atitit. 悬浮窗口的实现 java swing c# .net c++ js html 的实现
1.1. 定义悬浮窗口,设置this主窗口引用,是为了在悬浮窗口中双击可缩小还还原主窗口.以及悬浮窗口右键菜单"显示主界面"中需要还原主窗
1
1.2. //设置主窗口关闭时,先关闭悬浮窗口.and系统托盘 1
2.5. 3) 要拖动窗体的功能: 只要给窗体中的某个组件添加如下代码就行了: 3
1. 建立悬浮窗口引用代码
1.1. 定义悬浮窗口,设置this主窗口引用,是为了在悬浮窗口中双击可缩小还还原主窗口.以及悬浮窗口右键菜单"显示主界面"中需要还原主窗
m.floatForm fltfm;
fltfm = new floatForm(this); //定义悬浮窗口,设置this主窗口引用,是为了在悬浮窗口中双击可缩小还还原主窗口.以及悬浮窗口右键菜单"显示主界面"中需要还原主窗口..
fltfm.Show(); //显示
1.2. //设置主窗口关闭时,先关闭悬浮窗口.and系统托盘
new Exitx().close(this, delegate {
this.fltfm.Close();//关闭悬浮窗口
trc4.close();//关闭托盘图标
});
1.3. 注入系统托盘图标,退出的时候儿也退出系统托盘
作者:: 老哇的爪子 Attilax 艾龙, EMAIL:1466519819@qq.com
转载请注明来源: http://blog.csdn.net/attilax
2. 悬浮窗口结构and重大的点
2.1. 要去掉标题栏:
C++ qt 是从QWidget 继承..没有工具bar, 状态bar...当然,从QMainWindowi继承也能了. setWindowFlags( Qt::FramelessWindowHint
Swing 是使用jwindow模式 ,或者..jframe.setUndecorated(true); // no titlbar ,jeig defin in java.awt.Frame
2.2. Opacity 透明度70%
setAttribute(Qt::WA_TranslucentBackground, true);
jwindow.setOpacity(0.7f);
2.3. 不会在任务栏有图标
setWindowFlags( Qt::Tool) //工具条模式
Swing 是使用jwindow模式....使用jframe模式还马行上方法..
2.4. 设置顶层次窗口
setWindowFlags( Qt::WindowStaysOnTopHint
Java 是
jwindow/jframe.setAlwaysOnTop(true);
2.5. 3) 要拖动窗体的功能:
只要给窗体中的某个组件添加如下代码就行了:
2.6. 鼠标移动的时候儿光标状态更改
2.7. 右键弹出菜单
2.8. 双点击悬浮窗口可以最大化最小化主要的窗口
3. 各大的语言实现
3.1. Java swing的实现
Point loc = null;
Point tmp = null;
boolean isDragged = false;
//press move release
private void setDragable() {
this.addMouseListener(new java.awt.event.MouseAdapter() {
public void mousePressed(java.awt.event.MouseEvent e) {
tmp = new Point(e.getX(), e.getY());
isDragged = true;
//jFrame.setCursor(new Cursor(Cursor.MOVE_CURSOR));
}
public void mouseReleased(java.awt.event.MouseEvent e) {
isDragged = false;
//jFrame.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
}
});
this.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() {
public void mouseDragged(java.awt.event.MouseEvent e) {
if (isDragged) {
//jFrame.().x
int x = jFrame.getBounds().x;
int y = jFrame.getBounds().y;
loc = new Point(x + e.getX() - tmp.x,
y + e.getY() - tmp.y);
jFrame.setLocation(loc);
}
}
});
}
3.2. C#.net的实现
3.3. C++ qt的实现
3.4. Web html 悬浮窗口的实现
4. 参考
Java-如何去掉JFrame上的最大化最小化和关闭按钮_Linux编程_Linux公社-Linux系统门户网站.htm
paip.C#.net 悬浮窗口的建立总结 - attilax的专栏 - 博客频道 - CSDN.NET.htm
paip.提升用户体验---c++ qt 悬浮窗实现 - attilax的专栏 - 博客频道 - CSDN.NET.htm
Atitit. 悬浮窗口的实现 java swing c# .net c++ js html 的实现的更多相关文章
- atitit.系统托盘图标的设计java swing c# .net c++ js
atitit.系统托盘图标的实现java swing c# .net c++ js 1. 系统托盘图标的结构 1 2. Java swing的实现 1 3. .net的实现 1 4. C++的实现 1 ...
- Atitit. 获取cpu占有率的 java c# .net php node.js的实现
Atitit. 获取cpu占有率的 java c# .net php node.js的实现 通过wmic接口获取cpu占有率 C:\Users\Administrator.ATTILAXPC188&g ...
- atitit.窗口静听esc退出本窗口java swing c# .net php
atitit.窗口静听esc退出本窗口java swing c# .net php 1. 监听esc 按键 1 1.1. 监听一个组件 1 1.2. 监听加在form上 1 2. 关闭窗口 2 1. ...
- atitit.窗体静听esc退出本窗体java swing c# .net php
atitit.窗体静听esc退出本窗体java swing c# .net php 1. 监听esc 按键 1 1.1. 监听一个组件 1 1.2. 监听加在form上 1 2. 关闭窗体 2 1. ...
- Atitit。D&D drag&drop拖拽功能c#.net java swing的对比与实现总结
Atitit.D&D drag&drop拖拽功能c#.net java swing的对比与实现总结 1. 实现一个D&D操作一般包括三个步骤: 1 2. .net黑头的拖曳机制 ...
- java swing窗口放置屏幕中央问题思考
java swing窗口放置屏幕中央问题思考 以前总是尝试各种方法都没有能把组件放到屏幕中央,只能用死办法,设置绝对坐标,但这样就失去了可移植性,而且繁琐.今天仔细思考了一番,终于被我找出问题所在. ...
- atitit.软件开发GUI 布局管理优缺点总结java swing wpf web html c++ qt php asp.net winform
atitit.软件开发GUI 布局管理优缺点总结java swing wpf web html c++ qt php asp.net winform 1. Absoluti 布局(经常使用) 1 2. ...
- atitit.D&D drag&drop拖拽文件到界面功能 html5 web 跟个java swing c#.net c++ 的总结
atitit.D&D drag&drop拖拽文件到界面功能 html5 web 跟个java swing c#.net c++ 的总结 1. DND的操作流程 1 2. Html5 注 ...
- Atitit.java swing打印功能 api attilax总结
Atitit.java swing打印功能 api attilax总结 1. 打印方式有三种:2 1.1. 一是不经过任何修改,直接调用javascript中的window.print()打印.2 ...
随机推荐
- Entity Framework7 入门之全功能.NET(Console, WinForms, WPF等)使用EF7
昨天,我们介绍了EF的新特性和开发计划,如果你还不了解,请移步 Entity Framework7 有哪些不同?现在开发到什么程度了? .今天,我们开学习全功能.NET(Full .NET)下使用EF ...
- 一道有序洗牌的笔试题,阿里\UC等都用过
题目:给定一个已经降序排好序的正数数组,要求按「最小.最大.次小.次大……」的顺序重新排序.期望的时间复杂度为O(n),空间复杂度为O(1),即不能申请额外的数组. 例如:输入[7,6,5,4,3,2 ...
- IOS 预处理语句
程序中的源代码计算机是无法识别的,需要将写好的代码转成0.1二进制代码,计算机才能识别.将源代码转成二进制代码的需要经过两步,编译和链接.编译是通过编译器将每个文件的代码都转为二进制代码,在这个过程中 ...
- 【SSH 基础】SSH框架--struts深入具体解释(一)
学习了struts,可是对于它的由来,以及为什么使用action和struts.xml的方式而不採用曾经的servlet方式.有些疑问,究竟之前的方式有什么弊端,struts又给我们带来了什么便利? ...
- PHP实现双向链表
看了很久数据结构但是没有怎么用过,在网上看到了关于PHP的数据结构,学习了一下,与大家一起分享一下.上一次分享了链表,这次来补充说一下双向链表. 简短不割 ...
- UNIX网络编程读书笔记:recvmsg和sendmsg函数
这两个函数是最通用的I/O函数.实际上我们可以把所有read.readv.recv和recvfrom调用替换成recvmsg调用.类似地,各种输出函数调用也可以替换成sendmsg调用. #inclu ...
- Spring 的ioc
Spring的两个非常重要的功能ioc和aop 依赖反转:依赖对象的获得被反转:很多非凡的应用都是由两个或多个类通过彼此的合作来上线业务逻辑.这使得每一个对象都须要与其它对象合作,也就是说 一个对象获 ...
- 算法笔记_143:构造无向图的欧拉回路(Java)
目录 1 问题描述 2 解决方案 1 问题描述 具体链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Item ...
- 具有SSM框架的CRUD与多条件查询
概述 居于ssm版本的crud跟多添加查询, 并带分页的demo 详细 代码下载:http://www.demodashi.com/demo/13653.html 一.功能展示 部门CRUD: 员工C ...
- c#:treeview双击某个节点的事件
NodeMouseDoubleClick事件 事例: private void treeView1_NodeMouseDoubleClick(object sender, TreeNodeMouseC ...