我想通过事件来实现多个窗口切换,  
     单击A中的btnLogin时,A 隐藏,显示B   单击B中的按钮时,显示A,B关闭.  怎么实现了?我这样写的.//A.class
 public class A extends JFrame{
   A a;
   JButton btnLogin;
  public A{
    ....
   //在btnLogin事件中这样写的:
           a.setVisible(false);//(运行时有一个Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException)错误        new B();
......  //B.class
public class B extends JFrame{
   A a;
   JButton btnL;
  public B{
.....
        在btnL事件中这样定的:
         a.setVisible(true);
         System.exit(0);//关闭登录窗口...这是怎么回事了,怎么做才好?
  谢谢指教了.

解决方案 »

  1.   

    JDesktopPane desk里摆两个JInternalFrame
    desk.add(frame1);
    desk.add(frame2);
    需要把哪个frame放到前端显示用frame.setSelected(true)就可以了
      

  2.   

    问题就出在 System.exit(0);我觉得用两块JPanel效果可能会更好!
      

  3.   

       一楼说您说我方法,我目前还弄不懂了,  二楼您说的很对,不应该那样译放资源了.
      
      我已经解决了,应该用参数调用了.
       A a =new A()     new B(a)  
    用dispose()译放了. 
      谢谢您们了.