社区
Java SE
帖子详情
如何实现窗口的隐藏
liuxing_par
2007-05-07 04:34:58
我请问一下,如果用JAVA来实现像QQ一样把窗口托到边角自动隐藏的功能
...全文
571
15
打赏
收藏
如何实现窗口的隐藏
我请问一下,如果用JAVA来实现像QQ一样把窗口托到边角自动隐藏的功能
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yll890305
2010-09-13
打赏
举报
回复
请问import javax.swing.UIManager这个库有什么作用?
liuxing_par
2007-05-09
打赏
举报
回复
顶起来,有没有那位高人帮帮忙啊.
蒋晟
2007-05-08
打赏
举报
回复
http://www.microsoft.com/msj/archive/S274.aspx
为之易
2007-05-08
打赏
举报
回复
getLocation() 得到窗口的位置,
当窗口的位置符合隐藏的条件后setLocation(...)
zuguanqun
2007-05-08
打赏
举报
回复
学习,收藏
insiku
2007-05-08
打赏
举报
回复
to lixiaoxue85(蛮野蛮) (
你这个是系统托盘吧
LZ说的是 拖到屏幕边界处自动隐藏
alex_lu
2007-05-08
打赏
举报
回复
学习....................
pest1999
2007-05-07
打赏
举报
回复
mark
liuxing_par
2007-05-07
打赏
举报
回复
千里冰封可否到你的代码贴出来看一下啊?
jianghuxiaoxiami
2007-05-07
打赏
举报
回复
学习
lixiaoxue85
2007-05-07
打赏
举报
回复
JDK1.6已经实现了托盘 至于何时产生托盘 就自己计算吧
package csdn;
import java.awt.AWTException;
import java.awt.MenuItem;
import java.awt.PopupMenu;
import java.awt.SystemTray;
import java.awt.TrayIcon;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
/**
* Java1.6.0实现系统托盘技术演示
*
摘要:Java1.6.0实现系统托盘技术演示:本演示程序实现了点击按钮窗体关闭,
托盘图标挂于系统托盘上,鼠标双击托盘图标,窗体显示,托盘图标消失,在托盘图标上点右键可弹出选择菜单
(显示窗口,退出系统,Author),分别能完成不同的任务要求。
* @author 五斗米 <如转载请保留作者和出处>
* @blog http://blog.csdn.net/mq612
*/
public class TrayDemo extends JFrame {
private JPanel pane = null;
private JButton button = null; // 启动托盘图标的按钮
private JLabel label = null; // 用来显示系统是否支持托盘的信息
private TrayIcon trayIcon = null; // 托盘图标
private SystemTray tray = null; // 本操作系统托盘的实例
public TrayDemo() {
super("Java1.6.0托盘技术演示");
try {
// 将LookAndFeel设置成Windows样式
UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
} catch (Exception ex) {
ex.printStackTrace();
}
pane = new JPanel();
button = new JButton("缩小到托盘");
button.setEnabled(false);
label = new JLabel("本操作系统不支持托盘");
pane.add(label);
pane.add(button);
if(SystemTray.isSupported()){ // 如果操作系统支持托盘
this.tray();
}
this.getContentPane().add(pane);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(300, 200);
this.setVisible(true);
}
/**
* 托盘相关代码
*/
private void tray(){
label.setText("本操作系统支持托盘");
button.setEnabled(true);
tray = SystemTray.getSystemTray(); // 获得本操作系统托盘的实例
ImageIcon icon = new ImageIcon("images/icon.gif"); // 将要显示到托盘中的图标
PopupMenu pop = new PopupMenu(); // 构造一个右键弹出式菜单
MenuItem show = new MenuItem("显示窗口");
MenuItem exit = new MenuItem("退出演示");
MenuItem author = new MenuItem("Author");
/**
* TrayIcon有三个构造
* TrayIcon(Image image) 用“图标”来构造
* TrayIcon(Image image, String tooltip) 用“图标”和“ToolTip”构造
* TrayIcon(Image image, String tooltip, PopupMenu popup) 用“图标”,“ToolTip”,“弹出菜单”来构造一个托盘图标
*/
trayIcon = new TrayIcon(icon.getImage(), "Java1.6.0托盘技术演示", pop);
// 点击本按钮后窗口被关闭,托盘图标被添加到系统的托盘中
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try {
tray.add(trayIcon); // 将托盘图标添加到系统的托盘实例中
setVisible(false); // 使窗口不可视
} catch (AWTException ex) {
ex.printStackTrace();
}
}
});
/**
* 添加鼠标监听器,当鼠标在托盘图标上双击时,默认显示窗口
*/
trayIcon.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
if(e.getClickCount()==2){ // 鼠标双击
tray.remove(trayIcon); // 从系统的托盘实例中移除托盘图标
setVisible(true); // 显示窗口
}
}
});
show.addActionListener(new ActionListener() { // 点击“显示窗口”菜单后将窗口显示出来
public void actionPerformed(ActionEvent e) {
tray.remove(trayIcon); // 从系统的托盘实例中移除托盘图标
setVisible(true); // 显示窗口
}
});
exit.addActionListener(new ActionListener() { // 点击“退出演示”菜单后退出程序
public void actionPerformed(ActionEvent e) {
System.exit(0); // 退出程序
}
});
author.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
showMessage();
}
});
pop.add(show);
pop.add(exit);
pop.add(author);
}
/**
* 显示信息
*/
private void showMessage(){
JOptionPane.showMessageDialog(this, new JLabel("<html>作者:mq612(五斗米)<br>Blog:http://blog.csdn.net/mq612</html>"), "五斗米", JOptionPane.INFORMATION_MESSAGE);
}
public static void main(String[] args) {
new TrayDemo();
}
}
千里冰封820
2007-05-07
打赏
举报
回复
自己可以监听窗口的移动事件,然后计算自己离窗口的距离
当在距离之内的时候,起一个线程,一直更新当前的位置,造成一种窗口移动的效果,
我以前实现过这种功能
liuxing_par
2007-05-07
打赏
举报
回复
最好是能告知一下是那个类啊.
butnet
2007-05-07
打赏
举报
回复
JDK 1.5
里有一个类可以很简单的实现,
你可以搜一下,
什么类我忘了.
Android桌面悬浮窗效果
实现
,仿360手机卫士悬浮窗效果 源码程序
此为实例源码,详细讲解请参考博文http://blog.csdn.net/sinyu890807/article/details/8689140
获得本机IP地址
演示如何获得本机IP地址,如何生成透明
窗口
,如何从任务条上
隐藏
windows/mfc
实现
窗口
隐藏
同时 在任务栏上无图标显示功能
当
实现
窗体
隐藏
时,同时让任务栏
隐藏
全面掌握Windows系统
窗口
隐藏
技巧
为了
实现
窗口
隐藏
工具的有效性和效率,自动识别机制是核心技术之一。识别算法的工作原理包括
窗口
句柄获取、
窗口
类名解析、和视觉特征匹配等多个方面。首先,系统通过API函数调用获取所有当前打开
窗口
的句柄,然后解析每个
窗口
的类名和标题,通过预设的规则进行比对。此外,部分高级工具还集成了图像识别技术,能够根据
窗口
的视觉特征(如形状、颜色或特定图像标记)来辅助识别,尤其是在
窗口
类名信息不足的情况下。自定义快捷键的过程一般比较直接。首先,在
窗口
隐藏
工具的设置界面选择快捷键设置选项,然后输入想要设置的快捷键组合。
java单击按钮
实现
窗口
隐藏
下面代码
实现
新建一个按钮,单击后
隐藏
窗口
。
Java SE
62,627
社区成员
307,258
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章