我做了2个窗体,窗体a和窗体b,我现在点窗体a上的按钮可以跳转到窗体b上,但是窗体a并没有消失,我想让它一点按钮就跳到窗体b上,窗体a也自动关闭,但不是关闭整个程序!请各位帮忙看看怎么解决!谢谢!

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主截止到2008-06-20 15:46:57的汇总数据:
    注册日期:2008-5-13
    上次登录:2008-6-20
    发帖数:1                  发帖分:10                 
    结贴数:0                  结贴分:0                  
    结贴率:0.00 %        结分率:0.00 %        
    如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html
      

  2.   

    我是这样写的,还是实现不了!JButton cts = new JButton();
    cts.addActionListener(new java.awt.event.ActionListener()
    {
    public void actionPerformed(ActionEvent e)
    {
    b = new bFrame();
    b.Display();
    a.dispose();
    }
    });请大家指正!!!
      

  3.   

    刚刚去找了下Demo,发现上面说错了,汗一个正解为 面板A.dispose()(PS:如果你要移除的面板是a的话);注意要写在调用按钮的事件里
      

  4.   

    关键的三行这样写试试
    a.dispose(); 
    b = new bFrame(); 
    b.Display(); 
      

  5.   

    我3楼那里写我的代码了啊 
    a.dispose()不好用啊  编译可以过 但是运行的时候A窗体还是不消失的  而且是你按几下就出几个B窗体我只想出现一个B窗体  然后A窗体消失就行了!!!麻烦大家给看看啊!!
      

  6.   

    JButton cts = new JButton(); 
    cts.addActionListener(new java.awt.event.ActionListener() 

    public void actionPerformed(ActionEvent e) 
    {
    a.dispose();  
    b = new bFrame(); 
    b.Display(); } 
    }); 依然无效!!
      

  7.   

    a.setVisible(flase); 
    想要得时候再设置为true
    不想要就直接dispose()
      

  8.   

    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    public class a
    {
    JFrame a = new JFrame("Test");
    JButton cts = new JButton("button");
    b b;
    public a()
    {
    cts.addActionListener(new java.awt.event.ActionListener() 

    public void actionPerformed(ActionEvent e) 
    {   
    b = new b(); 
    b.Display();

    });
    a.add(cts);
    a.setSize(300,200);
    a.setVisible(true);
    }
    public static void main(String args[])
    {
    new a();
    }
    }
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    public class b
    {    public b() 
        {
         JFrame b = new JFrame();
         b.setSize(200,100);
         b.setVisible(true);
        }
        public void Display()
        {
         new b();
        }
    }
    源程序在这里了  请各位帮我看看
      

  9.   

    调了一下格式,在我这里运行正常,另外小改了一下,注意我加注释的地方
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;import javax.swing.JButton;
    import javax.swing.JFrame;public class A
    {
        JFrame a = new JFrame("Test");    JButton cts = new JButton("button");    B b;    public A()
        {
            cts.addActionListener(new ActionListener()
            {
                public void actionPerformed(ActionEvent e)
                {
                    //在B里面,你的display方法的意图是new B();
                    //你这里既new B(),又b.display();
                    //不知道你这样重复一次用意何在,实际上是new了两个B
                    b = new B();
                    //b.display();
                    //这句在我这里运行正常,可正常关闭a
                    a.dispose();
                }
            });
            
            //加上这句,在点X的时候可以退出系统,否则只是关闭窗口
            a.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            a.add(cts);
            a.setSize(300, 200);
            a.setVisible(true);
        }    public static void main(String args[])
        {
            new A();
        }
    }import javax.swing.JFrame;public class B
    {
        public B()
        {
            JFrame b = new JFrame();
            //加上这句,在点X的时候可以退出系统,否则只是关闭窗口
            b.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            b.setSize(200, 100);
            b.setVisible(true);
        }    public void display()
        {
            new B();
        }
    }
      

  10.   

    public JFrame getBFrame(){
        if(B == null){
            B = new JFrame();
        }
    }
    这种写法也许是个理想的选择!否则你会发现生成n多无用的对象地