效果如同点击任务栏的JFrame。注:不是捕获点击的事件,是写段代码替代点击的功能。举例:比如有一主界面,显示状态。点击主界面的一按钮,可以把在任务栏最小化状态的其他界面都显示出来(不是最大化,只要显示就行)。每天都上,解决了就结帖。

解决方案 »

  1.   

    去看jdk1.6中SystemTray的使用方法,可以操作任务栏
      

  2.   

    碰到这种问题最好的解决办法是去网上download别人的代码,然后分析。
      

  3.   

    点击主界面的按钮时,重画JFrame:(就是重新执行下面两行代码就可以了)
                                    // this.setSize(200, 200);
                // this.setVisible(true);
    这样就能达到你说的效果了。
      

  4.   

    你看看我理解的对不, 
    /**
    这个就是我们要恢复最小化的那个窗口*/
    import javax.swing.*;
    import java.awt.*;
    import javax.swing.event.*;
    public class JJ1 extends JFrame 
    {
    public JLabel jl;
    public JTextField jt ; 
    public JJ1()
    {
     setSize(300,300);
     jl = new JLabel("Resize Me");
     jt = new JTextField("");
     jt.setSize(100,50);
     setLayout(new GridLayout(1,2));
     add(jl);
     add(jt);
     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     setVisible(true);

    }

    }
    /**
    这个就是主窗口程序*/
    import javax.swing.*;
    import java.awt.*;
    import javax.swing.event.*;
    import java.awt.event.*;
    public class TestResize extends JFrame implements ActionListener
    {
    public JJ1 jj ;
    public JButton jb;
    public Boolean bb ;
    public TestResize()
    {
    // jj = new JJ1();
    setSize(300,300);
     bb = false ;
     jb = new JButton("Open the Sub JFrame");
     jb.addActionListener(this);
     add(jb , BorderLayout.CENTER);
     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     setVisible(true);

    }
    public void actionPerformed(ActionEvent e)
    {
    if(bb)
    {
    bb = false;
    jj.setExtendedState(NORMAL);
    }
    else
    {
    bb = true ;
    jb.setText("Reset the Minimal JFrame") ; 
    jj=new JJ1();
    jj.setLocation(300,300);
    }

    }
    public static void main(String args[])
    {

    new TestResize();

    }}我的思路是 ,如果扩展开,你有多个sub-JFrame, 那么你就可以建立多个不同的Boolean ,每个不同的sub-jframe最小化了 , 就改变相应的boolean
    ,或者你也可以做对应每一个sub-JFrame的按钮,点击相应的按钮 ,来把窗口恢复正常
      

  5.   

    把最小化的JFrame的引用保持在主界面上,比方说jFrame1
    当主界面的按钮按下时
    在监听器上写下:jFrame1.setState(JFrame.NORMAL);
    就可以,刚刚试验过,好用