JAVA中如何新建一个JFrame窗口后隐藏原来的窗口,我调用了window.setVisible(false);window.dispose();不行

 我来答
百度网友058bfa0e5
2012-06-01
知道答主
回答量:4
采纳率:0%
帮助的人:6375
展开全部
什么系统托盘啊,搞得那么复杂,直接用removeNotify()这个方法就行了,
例:JFrame frame=new JFrame("测试");
frame.removeNotify();
java编程要多查类库,在类库中查查JFrame类,你就能找到这个方法
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友9deacba12
2012-05-17
知道答主
回答量:24
采纳率:0%
帮助的人:16.2万
展开全部
进行系统托盘就可以了
追问
谢谢了,可是如何进行系统托盘啊?我是在一个程序里创建了一个窗体,点击按钮后又生成了一个新的窗体,系统托盘能只隐藏原先的窗体吗?
追答
是的,可是你可以将系统托盘写成一个公共的方法,然后每个界面都来调用这个方法就可以了;
这是代码
import java.awt.*;
import java.io.*;
import javax.swing.*;
import java.awt.event.*;
import javax.imageio.ImageIO;

public class num_1 extends JFrame{
private TrayIcon trayIcon;//托盘图标
private SystemTray systemTray;//系统托盘
public num_1(){
super("系统托盘图标");
setSize(450,450);

systemTray = SystemTray.getSystemTray();//获得系统托盘的实例
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
try {
trayIcon = new TrayIcon(ImageIO.read(new File("00.jpg")));
systemTray.add(trayIcon);//设置托盘的图标,0.gif与该类文件同一目录
}
catch (IOException e1) {
e1.printStackTrace();
}
catch (AWTException e2) {
e2.printStackTrace();
}

this.addWindowListener(
new WindowAdapter(){
public void windowIconified(WindowEvent e){
dispose();//窗口最小化时dispose该窗口
}
});

trayIcon.addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent e){
if(e.getClickCount() == 2)//双击托盘窗口再现
setExtendedState(Frame.NORMAL);
setVisible(true);
}
});
this.setLayout(null);
JButton jb = new JButton("按钮");
jb.setBounds(0,0,100,20);
this.getContentPane().add(jb);

this.setVisible(true);
}

public static void main(String args[])
{
new num_1();
}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式