登陆界面代码如下:
    import java.awt.*;import java.awt.event.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.Component;
import java.util.Vector;
import javax.swing.*;class myframe extends JFrame{
public static void main(String[] args){

Demo dw=new Demo("订餐管理项目--LDR开发组");
    dw.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
dw.setVisible(true);

}

}


class Demo  extends JFrame implements ActionListener{
JPanel jp1=new JPanel();
JPanel jp2=new JPanel();
JPanel jp3=new JPanel();

JButton jb1= new JButton("确定");
JButton jb2=new JButton("退出");

JLabel jl1=new JLabel("用户名");
JLabel jl2=new JLabel("    密码");
JLabel jl3=new JLabel("登陆账号密码:LDR");

JTextField jt1=new JTextField(10);
JPasswordField jt2=new JPasswordField(10);

Demo(String title){
 super(title);
 setResizable(false);  //禁止最大化
 setLocation(300,300);
 setSize(300,150);
 
 jp1.add(jl1);
 jp1.add(jt1);
 jp2.add(jl2);
 jp2.add(jt2);
 jp3.add(jb1);
 jp3.add(jb2);
 jp3.add(jl3);
 
 setLayout(new BorderLayout());
 add(BorderLayout.NORTH,jp1);
 add(BorderLayout.CENTER,jp2);
 add(BorderLayout.SOUTH,jp3);


    jb1.addActionListener(this);
    jb2.addActionListener(this);
     }

public void actionPerformed(ActionEvent e){
if(e.getSource()==jb1){
logining();

}
else if(e.getSource()==jb2){

System.exit(0);
}


}




 public void logining()
{
try { 

if((jt1.getText().equals("LDR"))&&(jt2.getPassword().equals("LDR")))
{


 new mainframe().setVisible(true); //打开主界面 
             this.dispose();  //关闭登陆界面
}
else
JOptionPane.showMessageDialog(this,"err 300 请检查帐号/密码是否正确,若再出现这个问题,请与超级管理员联系");
} catch(Exception e){ System.out.println(e);}
}



}
    主界面的代码如下:import java.awt.*;
import javax.swing.*;class mainframe extends JFrame{
public static void main(String[] args){
Demo1 dw=new Demo1("订餐系统--LDR开发组");
 dw.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
dw.setVisible(true);

}


}


class Demo1 extends JFrame{
JPanel jp1=new JPanel();
JButton jb1= new JButton("确定");


Demo1(String title){
super(title);

setLocation(250,100);
setSize(500,500);
jp1.add(jb1);

add(jp1);


}

解决方案 »

  1.   

    改下这个方法 public void logining() 

    try { 

    char[] passwords=jt2.getPassword();
    if((jt1.getText().equals("LDR"))&&((new String(passwords).equals("LDR")))) { 
    new mainframe().setVisible(true); //打开主界面 
    this.dispose();  //关闭登陆界面 
    } else 
    JOptionPane.showMessageDialog(this,"err 300 请检查帐号/密码是否正确,若再出现这个问题,请与超级管理员联系"); 
    } catch(Exception e) { 
    System.out.println(e);


      

  2.   

    你应该打开主界面(visible先false),在主界面里面用模态方式打开登录界面,登录成功了再把登录界面destroy,主界面visibletrue。
      

  3.   

    貌似不是new mainframe().setVisible(true); //打开主界面 就能打开主界面吧。查查java中有没有类似c#中的页面重定向。
      

  4.   

    子窗口中添加代码
    frame.addWindowListener(new WindowAdapter()//子窗口
           {
            public void windowClosing(WindowEvent e)
            {
            Main w = new Main();//父窗口
            w.frame.setVisible(true);
                  }
           });
    并且子窗口退出时,设置成dispose()
    使程序只保留一个窗口 
      

  5.   

    你写一个主窗口类  验证完密码之后new出来这个对象 这个类的构造函数中初始化窗口 最后一定要setVisible(true) 就可以了
      

  6.   


    this.dispose();  //关闭登陆界面 
    Demo1 demo1 = new Demo1("haha");
    demo1.setVisible(true); //打开主界面你开mainframe干啥?
      

  7.   

    一般来说1L的就行了。。
    如果实在还是不行  建议主窗体用frame初始化设置visable为false
    登录窗体用dialogFrame初始化显示。。   然后隐藏dialogframe  显示mainframe就行了