社区
Java SE
帖子详情
如何实现窗口的隐藏
liuxing_par
2007-05-07 04:34:58
我请问一下,如果用JAVA来实现像QQ一样把窗口托到边角自动隐藏的功能
...全文
553
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
里有一个类可以很简单的实现,
你可以搜一下,
什么类我忘了.
java单击按钮
实现
窗口
隐藏
下面代码
实现
新建一个按钮,单击后
隐藏
窗口
。
VC中如何
实现
窗口
的
隐藏
VC中如何
实现
窗口
的
隐藏
用MFC做的Dialog based 程序只要在OnInitDialog()函数里面写如下代码就能
实现
窗口
隐藏
: SetWindowPos(&CWnd::wndNoTopMost,0,0,0,0,SWP_HIDEWINDOW); ModifyStyleEx(WS_EX_APPWINDOW,WS_EX_
Qt
实现
窗口
自动
隐藏
我们可以通过监听鼠标的移动事件,判断鼠标是否位于
窗口
的边缘区域。在Qt中,
实现
窗口
的自动
隐藏
功能可以通过设置
窗口
的属性和编写相应的代码来
实现
。本文将介绍一种
实现
窗口
自动
隐藏
的方法,并提供相应的源代码示例。通过上述代码,我们可以
实现
窗口
的自动
隐藏
功能。这样设置之后,
窗口
将不会被其他
窗口
遮挡,并且看起来就像是一个浮动在其他
窗口
之上的面板。函数,在该函数中判断鼠标是否位于
窗口
的边缘区域,并根据判断结果
隐藏
或显示
窗口
。在构造函数中,我们设置了
窗口
的属性并启用了鼠标跟踪功能。对象,并设置了
窗口
的大小并显示出来。
MFC
窗口
隐藏
--对话框--单文档
MFC
窗口
隐藏
因为最近我的不良网页过滤引擎--上帝之手的开发进入实际开发阶段,因此开始了很多方面的系统编程比如说进程
隐藏
,
窗口
隐藏
等等,因为这是监控类的软件,最好是运行在用户不知情的情况下,所以最好是把
窗口
隐藏
起来,然后通过hotkey来呼唤.在如何
实现
窗口
隐藏
的时候,我可以说是费尽周章. 一开始,我想到的是在CMainFrame里的OnCreate写上一句this->
windows/mfc
实现
窗口
隐藏
同时 在任务栏上无图标显示功能
当
实现
窗体
隐藏
时,同时让任务栏
隐藏
Java SE
62,616
社区成员
307,307
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章