我编写了一个登陆界面,现在想在点击"确定"按钮的时候调用另一个界面...
请问怎么实现?
源程序如下:
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import mjava.ERP; class DengLu
{    
   public static void main(String args[]){
       Login lg=new Login();
         lg.pack(); }
}
class Login extends Frame implements ActionListener 
{       
        ERP er=new ERP();
        Label l1,l2,l3;
        TextField t1,t2;
        Choice ch;
        Button b1,b2,b3;
        Panel pan1,pan2;
        Login()
        {  super("登录系统");
           setSize(500,400);
           setLayout(new BorderLayout());
           l1=new Label("请选择服务:");
           l2=new Label("请输入用户名(最长15位):");
           l3=new Label("请输入密码(最长10位):");
           t1=new TextField(15);
           t2=new TextField(10);
           ch=new Choice();
           b1=new Button("确定");
           b2=new Button("清空");
           b3=new Button("退出");
           pan1=new Panel(new FlowLayout());
           pan2=new Panel(new FlowLayout());
           
           pan1.add(l1);
           /*for(i=0;i<a[j].length;i++)
            ch.addItem(a[i]);*/
           pan1.add(ch);
           pan1.add(l2);
           pan1.add(t1);
           pan1.add(l3);
           pan1.add(t2);
           this.add(pan1,BorderLayout.CENTER);
           pan2.add(b1);
           b1.addActionListener(this);
           pan2.add(b2);
           b2.addActionListener(this);
           pan2.add(b3);
           b3.addActionListener(this);
           this.add(pan2,BorderLayout.SOUTH);
           setVisible(true);
           addWindowListener(new WindowAdapter()
            {   
             public  void windowClosing(WindowEvent e)
               {setVisible(false);
                dispose();
                System.exit(0);}
          });
      }
     public void actionPerformed(ActionEvent e) 
      {     if(b1==e.getSource())  
             {
               /*ERP ren=new ERP();*/
               this.setVisible(false);
               dispose(); 
              ???????????????????
              ???????????????????
                System.exit(0);
              }
            if(b2==e.getSource())
             {    t1.setText("");
                  t2.setText("");}
            if(b3==e.getSource())
             {    dispose();
                  System.exit(0);
                      }
             
             }
      /*public void sql */
}另一个源文件打包到了mjava下...源文件名字为ERP.java请问???????????处应该怎么写?

解决方案 »

  1.   

    public void actionPerformed(ActionEvent e)  
          {     if(b1==e.getSource())   
                 { 
                   /*ERP ren=new ERP();*/ 
                   this.setVisible(false); 
                   dispose();  
                  ??????????????????? 
                  ??????????????????? 
                    System.exit(0); //这是结束JVM的命令..就好像你通过任务管理器结束了这个java.exe进程一样.所以把这行去掉,在这里显示你的窗口,如:
    ERP ren=new ERP();
    ren.setVisible(true);
                  } 
      

  2.   

    直接new 一下另外一个GUI,然后show出来撒
      

  3.   

    show?
    对不起,我是菜鸟,请问show方法怎么用?
    另一个GUI源程序名是ERP.java
    打包到了mjava文件下...请问用show怎么调用?
      

  4.   

    if(b1==e.getSource())   

       this.setVisible(false); 
       //加入下面一行,即可,如果ERP类是Frame类的子类
       //因为你前面已经定义一个ERP类型的域er
       er.setVisible(true);} 
      

  5.   

    我在ERP源程序把ERP类继承了Frame后,在DengLu源程序里创建ERP实例已经能编译了~~
    但是功能没实现...
    点了确定之后登陆界面是退出了,但是主界面却没有出来...
    请问怎么解决啊?
      

  6.   

    我的想法啊....
    要不你在点击以后在FRAME换个Pannel??
      

  7.   

      public void actionPerformed(ActionEvent e)  
          {     if (e.getActionCommand().equals("确定"))
       try {
            ERP ren=new ERP();
                   }
           catch(Exception e)
                   { e.printStackTrace();
                       }     
               } 
      

  8.   

       { 
                   /*ERP ren=new ERP();*/   //去掉这一句的注释
                   this.setVisible(false); 
                   dispose();  
                  ??????????????????? 
                  ??????????????????? 
                    System.exit(0);    //去掉这一句
             ren.setVisible(true); //加上这一句
                  } 
    //关键是你自己测试了ERP(是你说的主界面不?)可以显示正常的.
      

  9.   

    http://topic.csdn.net/u/20080513/12/4c607101-8dd5-432f-b488-06499e2844e5.html1楼,8楼的回复.不知道你是不是要实现哪样的功能.
    如果是的话,参考一下...
      

  10.   

    如果是调用另外一个截面,初始化好后setVisible出来即可如果调用另一个GUI进程,使用Runtime.run方法