Java 商店注册应用程序导航机制

标签 java swing user-interface navigation

我正在尝试用 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
}

最佳答案

尝试使用 CardLayoutJFrame 中的一个面板(登录屏幕)替换为另一个面板(主屏幕)。

关于Java 商店注册应用程序导航机制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18477935/

相关文章:

java - 将视频上传到android中的服务器

java - 如何从 GUI 显示文本文件

java - 使用用户指定的计时器更新图形用户界面中的 JPanel 和属性?

java - Pascal GUI 居中

java - 在 JSP 页面上打印控制台输出

java - 使用 MenuBar 切换面板

java - 具有类似表格的树组件 "cells"?

c++ - 在 C++ 中的 Qt 中向 UI 动态添加未知数量的按钮

java - 如何学习高级 Java Web 开发概念

java - 键盘轮询系统