我想让项目运行时,显示窗体,点击关闭后让项目在后台运行(因为有一些必要的程序总是在运行),同时让窗体消失;等过一段时间后,想在次显示刚才的那个窗体,不知道能实现此过程么?知道的告诉小弟一下

解决方案 »

  1.   

    是swing编程吗?你可以设置它的setVisible(false)。这样窗体就关了窗体但是他还在运行,要显示的时候只要把false该为true就可以了。
      

  2.   

    setVisible(false/true)
    窗体之间要持有对方窗体的引用.
      

  3.   


    大概要用到:
    java.awt.SystemTray.add(TrayIcon icon);
    java.awt.TrayIcon.addActionListener(ActionListener listener);javax.swing.JFrame.setVisible(true);
    javax.swing.JFrame.dispose();
      

  4.   


    jframe.setVisible(true); 显示
    jframe.setVisible(false); 关闭设置自定义  点击关闭按钮事件
    jframe.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
    为窗口添加点击关闭按钮时的事件:jframe.addWindowListener(new WindowListener(){ @Override
    public void windowActivated(WindowEvent e) {
    // TODO Auto-generated method stub

    } @Override
    public void windowClosed(WindowEvent e) {
    // TODO Auto-generated method stub

    } @Override
    public void windowClosing(WindowEvent e) {
    // TODO Auto-generated method stub

    } @Override
    public void windowDeactivated(WindowEvent e) {
    // TODO Auto-generated method stub

    } @Override
    public void windowDeiconified(WindowEvent e) {
    // TODO Auto-generated method stub

    } @Override
    public void windowIconified(WindowEvent e) {
    // TODO Auto-generated method stub

    } @Override
    public void windowOpened(WindowEvent e) {
    // TODO Auto-generated method stub

    }

    });
      

  5.   

    你想让该窗口继续运行,而且不能显示在桌面,只能放在最小托盘,你可以查阅API文档,这个解释应该能实现你的要求:public class SystemTrayextends ObjectSystemTray 类表示桌面的系统托盘。在 Microsoft Windows 上,它被称为“任务栏状态区域 (Taskbar Status Area)”,在 Gnome 上,它被称为“通知区域 (Notification Area)”,在 KDE 上,它被成为“系统托盘 (System Tray)”。系统托盘由运行在桌面上的所有应用程序共享。 在某些平台上,可能不存在或不支持系统托盘,在这种情况下,getSystemTray() 将抛出 UnsupportedOperationException。要检查系统托盘是否受支持,可以使用 isSupported()。 SystemTray 可以包含一个或多个 TrayIcon,可以使用 add(java.awt.TrayIcon) 方法将它们添加到托盘,当不再需要托盘时,使用 remove(java.awt.TrayIcon) 移除它。TrayIcon 由图像、弹出菜单和一组相关侦听器组成。有关详细信息,请参阅 TrayIcon 类。 每个 Java 应用程序都有一个 SystemTray 实例,在应用程序运行时,它允许应用程序与桌面系统托盘建立连接。SystemTray 实例可以通过 getSystemTray() 方法获得。应用程序不能创建自己的 SystemTray 实例。 以下代码片段演示了如何访问和自定义系统托盘: TrayIcon trayIcon = null;
    if (SystemTray.isSupported()) {
    // get the SystemTray instance
    SystemTray tray = SystemTray.getSystemTray();
    // load an image
    Image image = Toolkit.getDefaultToolkit.getImage(...);
    // create a action listener to listen for default action executed on the tray icon
    ActionListener listener = new ActionListener() {
    public void actionPerformed(ActionEvent e) {
    // execute default action of the application
                     // ...
                 }
             };
    // create a popup menu
    PopupMenu popup = new PopupMenu();
    // create menu item for the default action
    MenuItem defaultItem = new MenuItem(...);
    defaultItem.addActionListener(listener);
    popup.add(defaultItem);
    /// ... add other items
    // construct a TrayIcon
    trayIcon = new TrayIcon(image, "Tray Demo", popup);
    // set the TrayIcon properties
    trayIcon.addActionListener(listener);
             // ...
    // add the tray image
    try {
    tray.add(trayIcon);
    } catch (AWTException e) {
    System.err.println(e);
             }
             // ...
    } else {
    // disable tray option in your application or
    // perform other actions
             ...
         }
         // ...
    // some time later
    // the application state has changed - update the image
    if (trayIcon != null) {
    trayIcon.setImage(updatedImage);
         }
         // ...
     
      

  6.   

    看看java的托盘编程。
    TrayIcon什么的。