Atitit. 悬浮窗口的实现 java swing c# .net c++ js html 的实现

1. 建立悬浮窗口引用代码 1

1.1. 定义悬浮窗口,设置this主窗口引用,是为了在悬浮窗口中双击可缩小还还原主窗口.以及悬浮窗口右键菜单"显示主界面"中需要还原主窗
1

1.2. //设置主窗口关闭时,先关闭悬浮窗口.and系统托盘 1

1.3. 注入系统托盘图标,退出的时候儿也退出系统托盘 2

2. 悬浮窗口结构and重大的点 2

2.1. 要去掉标题栏: 2

2.2. Opacity 透明度70% 2

2.3. 不会在任务栏有图标 2

2.4. 设置顶层次窗口 2

2.5. 3) 要拖动窗体的功能:  只要给窗体中的某个组件添加如下代码就行了: 3

2.6. 鼠标移动的时候儿光标状态更改 3

2.7. 右键弹出菜单 3

2.8. 双点击悬浮窗口可以最大化最小化主要的窗口 3

3. 各大的语言实现 3

3.1. Java swing的实现 3

3.2. C#.net的实现 4

3.3. C++ qt的实现 4

3.4. Web html 悬浮窗口的实现 4

4. 参考 4

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 的实现的更多相关文章

  1. 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 ...

  2. Atitit. 获取cpu占有率的 java c# .net php node.js的实现

    Atitit. 获取cpu占有率的 java c# .net php node.js的实现 通过wmic接口获取cpu占有率 C:\Users\Administrator.ATTILAXPC188&g ...

  3. 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. ...

  4. 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. ...

  5. Atitit。D&D drag&drop拖拽功能c#.net java swing的对比与实现总结

    Atitit.D&D drag&drop拖拽功能c#.net java swing的对比与实现总结 1. 实现一个D&D操作一般包括三个步骤: 1 2. .net黑头的拖曳机制 ...

  6. java swing窗口放置屏幕中央问题思考

    java swing窗口放置屏幕中央问题思考 以前总是尝试各种方法都没有能把组件放到屏幕中央,只能用死办法,设置绝对坐标,但这样就失去了可移植性,而且繁琐.今天仔细思考了一番,终于被我找出问题所在. ...

  7. 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. ...

  8. 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 注 ...

  9. Atitit.java swing打印功能 api  attilax总结

    Atitit.java swing打印功能 api  attilax总结 1. 打印方式有三种:2 1.1. 一是不经过任何修改,直接调用javascript中的window.print()打印.2 ...

随机推荐

  1. Webstorm实时编译SASS和LESS

    Webstorm自带一个File Watchers功能,设置一下,即可实时编译SASS,LESS等 菜单:File->Settings->左栏Tools下的File Watchers,按右 ...

  2. FFmpeg YUV2RGB

    AVFrame* YUV2RGB( AVCodecContext * avctx, AVFrame * frame ) { AVFrame* pFrameRGB=NULL; pFrameRGB=avc ...

  3. 代码规范审查 - Sonar集成Visual Studio

    开发人员可以使用Sonar的集成插件在开发阶段进行实时代码质量审核,在代码编写阶段分析出当前代码的质量及规范漏洞,并给出合理的修改建议.编写高质量.高维护性的代码变得更简单! VS集成Sonar之前 ...

  4. KB/KiB,MB/MiB,GB/GiB了解一下

    Kibibyte是一种资讯计量单位,代表1024字节,即210字节,一般简称为KiB.Kibibyte是来自英文 kilo binary byte 的缩写,意思为“千位二进制字节”. 而KB是kilo ...

  5. Perl & Python编写CGI

    近期偶然玩了一下CGI,收集点资料写篇在这里留档. 如今想做HTTP Cache回归測试了,为了模拟不同的响应头及数据大小.就须要一个CGI按须要传回指定的响应头和内容.这是从老外的測试页面学习到的经 ...

  6. javascript学习笔记------概念相关

    javascript中的函数.对象 1. 在javascript中,函数是被当成一种数据类型,它可以被存储在一个变量.数组.对象中,可以被当作参数传递到另一个函数中. 函数就像是字符串和数字这样的的数 ...

  7. Kettle中根据一个输入行派生出多个输出行

    依然在北京,早上停电了,整个人感觉对不好了,接下来就说一下在使用ETL工具kettle做数据校验的时候遇到的一些问题,一级解决方案. 1:数据校验效果图下图: 原始表数据(需要校验的表数据) 对上表数 ...

  8. 更简单更全的material design状态栏

    从实际使用须要出发,以最简单的方式实现了几种类型的MD状态栏. (重点在fitsSystemWindows的使用) 0,使用前提 Theme.AppCompat.Light.DarkActionBar ...

  9. Myeclipse最全快捷键

    转自:http://www.iteye.com/topic/1051317 Ctrl+1 快速修复(最经典的快捷键,就不用多说了) Ctrl+D: 删除当前行  Ctrl+Alt+↓ 复制当前行到下一 ...

  10. 删除android ScrollView边界阴影方法

    XML文件中添加以下方法:   android:fadingEdge=”none”   或者,代码中设置为false即可   ScrollView.setHorizontalFadingEdgeEna ...