0

私は Java で Store Register アプリケーションを作成しようとしています (楽しみのために) が、言語が初めてで、どこからどのように進めればよいか正確にはわかりません。現在、ログインシステムの作成に成功したため、ログインを押すとユーザーログインが機能します。ここで、ログインをクリックするとオプションのメニューが表示されるようにしたいと思います。ユーザーがログインをクリックしたときに新しい JFrame を開きたくありませんが、代わりに、単一の JFrame ですべてを実行したいと考えています。また、皆さんにやってもらいたくありませんが、これにアプローチする方法を知りたいです。

ここに私が参照用に持っているコードがあります:

package schoolstoreregister;


import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class SchoolStoreRegister extends JFrame {

        //declaring our swing components
    JLabel l_name,l_pass;
    JTextField t_name;
    JPasswordField t_pass;     //A special JTextField but hides input text
    JButton button;
    Container c;
    boolean checkLogin = false;

    //a inner class to handling ActionEvents
    handler handle;

    //a separate class for processing database connection and authentication
    database db;    

    SchoolStoreRegister()
    {
        super("School Store Register");

        c=getContentPane();
        c.setLayout(new FlowLayout());
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        int width = (int) screenSize.getWidth();
        int height = (int) screenSize.getHeight();

        //extra classes
        db=new database();
            handle =new handler();

                //swing components
        //l_name=new JLabel("Username");
        l_pass=new JLabel("Password");
        //t_name=new JTextField(10);
        t_pass=new JPasswordField(10);
        button=new JButton("Login");

        //adding actionlistener to the button
        button.addActionListener(handle);

        //add to contaienr
       // c.add(l_name);
        //c.add(t_name);
        c.add(l_pass);
        c.add(t_pass);
        c.add(button);
        //visual
        setVisible(true);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setSize(width,height);

    }
    public static void main(String args[])
    {
            @SuppressWarnings("unused")
            SchoolStoreRegister sample=new SchoolStoreRegister();
    }

    class handler implements ActionListener        //This is triggered whenever the user clicks the login button
    {
        public void actionPerformed(ActionEvent ae) //checks if the button clicked
        {
            if(ae.getSource()==button)
            {
                char[] temp_pwd=t_pass.getPassword();
                String convert = t_pass.getText();
                int passID = Integer.parseInt(convert);

                //The entered username and password are sent via "checkLogin()" which return boolean
                if(db.checkLogin(passID))
                {
                    //a pop-up box
                    JOptionPane.showMessageDialog(null, "You have logged in successfully","Success", JOptionPane.INFORMATION_MESSAGE);
                    checkLogin = true;
                }
                else
                {
                    //a pop-up box
                    JOptionPane.showMessageDialog(null, "Login failed!","Failed!!", JOptionPane.ERROR_MESSAGE);
                    checkLogin = false;
                }
            }//if
        }//method

    }//inner class
}
4

1 に答える 1

3

CardLayoutで1 つのパネル (ログイン画面) を別の (メイン画面) に交換してみてくださいJFrame

于 2013-08-28T01:21:49.510 に答える