我创建了两个JFrame 一个是aJFrame 另一个是bJFrame 其上各有一个按钮分别是aJButton bJButton
当我点击aJButton时bJFrame出现 ,当我点击bJButton时bJFrame消失aJFrame显示希望给位大虾,牛人帮小弟解答解答!

解决方案 »

  1.   

    简单的实现方法:
    1. 创建的时候,将aJframe的句柄存到  bJframe,  将bJframe的句柄存到aJframe
    2. 点aButton的事件里面,  分别对aJframe, bJframe进行setVisible(true/false)
      

  2.   

    没看仔细,上面的有点跑题aButton事件: 
      1.创建bJframe
      2.把aFrame的句柄传给bJframe
      3.aFrame.setVisible(false)
      4.bFrame.setVisible(true)bButton事件:
      1.bFrame.setVisible(false)
      2.aFrame.setVisible(true)
      3.bFrame.dispose()
      

  3.   

    我想了以下,楼上的还是不好,
    你将2个JFame中的按钮事件写到一个事件处理里面,将2个JFrame对象传给事件处理,
    当点击aJFrame中的按钮时,aFrame.setVisible(false) ;bFrame.setVisible(true)
    当点击bJFrame中的按钮时,bFrame.setVisible(false) ;aFrame.setVisible(true)
      

  4.   

    使用setVisable(true/flase)切换
      

  5.   

    方法很多,可以创建第3放类来存放两个对象
    也可以将A作为B的成员,而B的事件处理时回传一个B的引用this给A
      

  6.   

    如果两个frame没什么参数联系的话,用setvisible()就行了吧
      

  7.   

    public class myClass{
      static JFrame tempa=null; //当你创建aJFrame时,把其reference放进来
       static JFrame tempb=null; //当你创建 bJFrame时,把其reference放进来 



    } 
      

  8.   

    看例子:import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;import javax.swing.JButton;
    import javax.swing.JFrame;public class DoubleFrame {
    public static void main(String[] args) {
    final JFrame jf1 = new JFrame("frame a");
    final JFrame jf2 = new JFrame("frame b");

    jf1.setSize(300, 200);
    jf1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    JButton jb1 = new JButton("button a");
    jb1.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
    jf1.setVisible(!jf1.isShowing());
    jf2.setVisible(!jf2.isShowing());
    }
    });
    jf1.getContentPane().add(jb1);
    jf1.setVisible(true);


    jf2.setSize(300, 200);
    jf2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    JButton jb2 = new JButton("button b");
    jb2.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
    jf1.setVisible(!jf1.isShowing());
    jf2.setVisible(!jf2.isShowing());
    }
    });
    jf2.getContentPane().add(jb2);
    }
    }