我编写了一个登陆界面,现在想在点击"确定"按钮的时候调用另一个界面...
请问怎么实现?
源程序如下:
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请问???????????处应该怎么写?
请问怎么实现?
源程序如下:
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请问???????????处应该怎么写?
{ 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);
}
对不起,我是菜鸟,请问show方法怎么用?
另一个GUI源程序名是ERP.java
打包到了mjava文件下...请问用show怎么调用?
{
this.setVisible(false);
//加入下面一行,即可,如果ERP类是Frame类的子类
//因为你前面已经定义一个ERP类型的域er
er.setVisible(true);}
但是功能没实现...
点了确定之后登陆界面是退出了,但是主界面却没有出来...
请问怎么解决啊?
要不你在点击以后在FRAME换个Pannel??
{ if (e.getActionCommand().equals("确定"))
try {
ERP ren=new ERP();
}
catch(Exception e)
{ e.printStackTrace();
}
}
/*ERP ren=new ERP();*/ //去掉这一句的注释
this.setVisible(false);
dispose();
???????????????????
???????????????????
System.exit(0); //去掉这一句
ren.setVisible(true); //加上这一句
}
//关键是你自己测试了ERP(是你说的主界面不?)可以显示正常的.
如果是的话,参考一下...