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