求 Java GUI 源代码,要求:
有两个窗口,一个是LOGIN窗口,一个是MAIN主窗口。
LOGIN窗口有一个密码输入框和两个按钮(一个登陆按钮,一个取消按钮)。
密码答案是系统日期"YYYYMMDD"格式,密码输入框要显示 * 。
按登陆按钮,密码对的时候。MAIN主窗口显示。
按取消按钮,程序结束。
MAIN主窗口也有一个取消按钮,按取消按钮,程序结束。本人没有这方面的经验。谢谢大家帮忙。

解决方案 »

  1.   

    额 这个用jbuider很快就做好了
      

  2.   

    可以尝试使用SWING编写。。然后布局。
      

  3.   

    怎么实现 按登陆按钮,密码对的时候。MAIN主窗口显示?
      

  4.   

    就是窗口的跳转嘛,密码对了,转到main,不对,错误提示再输入这样
      

  5.   

    login 窗口可以使用 SwingX中的 JXLoginPane
      

  6.   

    下面的怎么实现?
    1. 密码输入框要显示 * 。
    2. 按登陆按钮,密码对的时候。MAIN主窗口显示?
      

  7.   


    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.io.*;
    class swingTest extends JFrame
    {
    JPanel jp1;
    JPanel jp2;
    JPanel jp3;
    JButton jb;
    JButton cls;
    JLabel jl;
    JLabel pwd;
    JTextField jt;
    JPasswordField pw;
    JComboBox status;
    swingTest(){
    jp1 = new JPanel();
    jp2 = new JPanel();
    jp3 = new JPanel();
    jb = new JButton();
    cls = new JButton();
    jl = new JLabel();
    jt = new JTextField(10);
    pwd = new JLabel();
    pw = new JPasswordField(10);
    String [] st = {"上线","隐身","离开"};
    status = new JComboBox(st);
    // set property
    jb.setText("确定");
    cls.setText("关闭");
    jl.setText("请输入户名:");
    pwd.setText("请输入密码:");

    jp1.setLayout(new FlowLayout());
    jp2.setLayout(new FlowLayout());
    jp3.setLayout(new FlowLayout()); jp1.add(jl);
    jp1.add(jt);
    jp1.add(pw);
    jp2.add(jb);
    jp2.add(cls);
    jp3.add(pwd);
    jp3.add(pw);
    jp2.add(status);
    this.setLayout(new BorderLayout());
    this.add(jp1, BorderLayout.NORTH);
    this.add(jp2, BorderLayout.SOUTH);
    this.add(jp3, BorderLayout.CENTER);
    this.setSize(300,150);
    this.setVisible(true); this.setTitle("请输入你的姓名--------");
    this.setLocationRelativeTo(this.getOwner()); //设置窗口为居中
    this.setDefaultCloseOperation(EXIT_ON_CLOSE);//设置关闭窗口事件
    cls.addActionListener(new ActionListener(){
    public void actionPerformed(ActionEvent e){
    System.exit(-1);
    }
    });
    jb.addActionListener(new ActionListener(){
    public void actionPerformed(ActionEvent e)
    {
    String userName  = getTextFieldValue();
    String pssword = getPasswordValue();
    if(userName.equals(""))
    {
    msg("请输入姓名");
    jt.requestFocus();
    }else if(pssword.equals(""))
    {
    msg("请输入密码");
    pw.requestFocus();
    }else if(userName.equals("袁某人") && pssword.equals("123456"))
    {
    msg("密码对了!");
    msg("呵呵,谢谢,你输入姓名是:"+userName +"密码是:"+pssword + "\n\n你选择的方式是:"+getStatuValue() +"登录");
    pw.setText("");
    pw.requestFocus();
    jt.setText("");
    jt.requestFocus();
    System.exit(-1);
    }else  {
    msg("密码错误,请重新输入!"+pssword);
    pw.setText("");
    pw.requestFocus();
    jt.setText("");
    jt.requestFocus();
    }
    }
    });
    }
    public String getTextFieldValue(){
    return this.jt.getText();

    public String getStatuValue(){
    return (String)this.status.getSelectedItem();

    public String getPasswordValue(){
    char [] c = this.pw.getPassword();
    String temp = "";
    for(int i = 0;i<c.length;i++)
    {
    temp+=c[i];
    }
    return temp;
    }    
    private void msg(String str){
    new JOptionPane().showMessageDialog(null,str);
    }          
    public static void main(String [] args)
    {
    swingTest t = new swingTest();
    }
    }
      

  8.   

     不论多简单的代码我都习惯用可视化工具编写。(Myeclipse自带的)
      

  9.   

    谢谢 Computer001
    问题已经基本解决。新的问题是JLabel如何刷新的问题。
    在MAIN主窗口有一个COPY按钮,COPY文件的时候,
    想要动态显示正在COPY的文件名字。下面的写法不行。 private void jButtonOKMouseClicked(MouseEvent evt){ jlblStatusMsg.setText("COPY aa.txt ");
    jlblStatusMsg.setVisible(false);
    jlblStatusMsg.setVisible(true);                jlblStatusMsg.setText("COPY bb.txt ");
    jlblStatusMsg.setVisible(false);
    jlblStatusMsg.setVisible(true);
    }