java中怎样实现一个窗体最小化在系统托盘,而不是占用一片任务栏的区域?

具体一点好不?我的要求是一个窗体,打开后就直接最小到系统托盘,即使在窗体显示的时候仍然不占用任务栏而只占用托盘区域,可以做到吗?... 具体一点好不?我的要求是一个窗体,打开后就直接最小到系统托盘,即使在窗体显示的时候仍然不占用任务栏而只占用托盘区域,可以做到吗? 展开
 我来答
hanzsim
2009-11-11 · TA获得超过1540个赞
知道小有建树答主
回答量:922
采纳率:0%
帮助的人:1081万
展开全部
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class NoticeIcon extends JFrame{
JMenuBar mbrMain;
JMenu mnuFile;
JMenuItem mnuFileExit;
MenuItem popShow,popExit;
PopupMenu popIcon;
SystemTray tray;
TrayIcon trayIcon;
public NoticeIcon(){
setSize(400,300);
setLocationRelativeTo(null);
mnuFileExit=new JMenuItem("退出");
mnuFile=new JMenu("文件");
mnuFile.add(mnuFileExit);
mbrMain=new JMenuBar();
mbrMain.add(mnuFile);
setJMenuBar(mbrMain);
mnuFileExit.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
tray.remove(trayIcon);
dispose();
}
});
}
public static void main(String[] args){
final NoticeIcon noticeIcon=new NoticeIcon();
noticeIcon.popShow=new MenuItem("显示");
noticeIcon.popExit=new MenuItem("退出");
noticeIcon.popIcon=new PopupMenu();
noticeIcon.popIcon.add(noticeIcon.popShow);
noticeIcon.popIcon.addSeparator();
noticeIcon.popIcon.add(noticeIcon.popExit);
noticeIcon.popExit.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
noticeIcon.tray.remove(noticeIcon.trayIcon);
System.exit(0);
}
});
noticeIcon.popShow.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
noticeIcon.setVisible(true);
}
});
noticeIcon.trayIcon=new TrayIcon(Toolkit.getDefaultToolkit().getImage("Save.gif"),"我的系统通知区图标",noticeIcon.popIcon);
noticeIcon.tray=SystemTray.getSystemTray();
try{
noticeIcon.tray.add(noticeIcon.trayIcon);
}
catch(AWTException ex){
System.out.println("系统托盘不可用");
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友7893292
2009-11-11 · TA获得超过844个赞
知道小有建树答主
回答量:1088
采纳率:83%
帮助的人:675万
展开全部
当然可以。

不过你的窗体可以继承 JDialog 不要继承JFrame
然后把窗口设为模态窗口,试一下。

其实我曾经写过一个继承JFrame的也能达到你要的那个效果,不过那种写法很少用,已经是三四年前的事情,我都不记得是怎么写的了。
大概思路:更改JFrame的窗口样式。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
freish
2009-11-10 · TA获得超过2878个赞
知道大有可为答主
回答量:3153
采纳率:0%
帮助的人:2665万
展开全部
jdk1.6应该可以做到的
SystemTray?类似这样一个名字的类
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cxlong007
2009-11-10 · 超过41用户采纳过TA的回答
知道小有建树答主
回答量:150
采纳率:0%
帮助的人:0
展开全部
jdk1.6
java.awt.SystemTray
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式