Tạo giao diện đăng ký tài khoản trong Java Swing



Đề bài: Viết chương trình tạo một cửa sổ cho phép đăng ký thông tin người dùng gồm tên người dùng, mật khẩu và quyền hạn truy cập. Tạo một danh sách lưu trữ những người dùng đăng ký.
Yêu cầu kiến thức:

  • Kế thừa và triển khai các phương thức đã được đề ra ở các lớp cha
  • Phân tích và thiết kế các đối tượng trên giao diện là các components
  • Hiểu rõ bản chất cách hoạt động các đối tượng

Cấu trúc thư mục:
src
|——buildUI
   |——Account.java
   |——SingUp.java
|——usingUI
   |——MainClass.java
Code tham khảo dưới đây được viết trên JDK ver 8.x:
File Account.java:


package buildUI;

public class Account {
    // Thuoc tinh
    private String userName;
    private String password;
    private String access;

    // Ham khoi tao khong tham so
    public Account(){
        userName="";
        password="";
        access="";
    }

    // Ham khoi tao co doi so
    public Account(String userName, String password, String access){
        this.userName=userName;
        this.password=password;
        this.access=access;
    }

    // Cac ham getter va setter
    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getAccess() {
        return access;
    }

    public void setAccess(String access) {
        this.access = access;
    }
}

File SingUp.java:


package buildUI;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;

public class SingUp extends JFrame implements ActionListener {
    // Khai bao cac component
    JLabel lbUser=new JLabel("Username: ");
    JLabel lbPassword=new JLabel("Password: ");
    JTextField txtUser=new JTextField();
    JPasswordField txtPassword=new JPasswordField();

    JLabel lbAccess=new JLabel("Access right: ");
    JComboBox cbAccess=new JComboBox();

    JButton btnSave=new JButton("Save");
    JButton btnCancel=new JButton("Cancel");

    // Luu danh sach nguoi dung
    ArrayList listUser=new ArrayList();

    // Ham khoi tao
    public SingUp(String title){
        super(title);

        // Tao container
        Container con=this.getContentPane();

        // Tao panel 1 chua username, pass, access
        JPanel panel1=new JPanel();
        panel1.setLayout(new GridLayout(3, 2));
        panel1.add(lbUser);
        panel1.add(txtUser);
        panel1.add(lbPassword);
        panel1.add(txtPassword);

        // Tao danh sach quyen truy cap
        cbAccess.addItem("Admin");
        cbAccess.addItem("Teacher");
        cbAccess.addItem("Student");

        panel1.add(lbAccess);
        panel1.add(cbAccess);

        // Tao panel 2 chua buttun save, access
        JPanel panel2=new JPanel();
        panel2.setLayout(new FlowLayout());
        panel2.add(btnSave);
        panel2.add(btnCancel);

        // Dat phuong thuc trang thai
        btnSave.addActionListener(this);
        btnCancel.addActionListener(this);

        // Dat panel 1 o vung trung tam
        con.add(panel1);

        // Dat panel 2 vao vung South
        con.add(panel2, "South");

        this.pack();
        this.setVisible(true);
    }

    @Override
    public void actionPerformed(ActionEvent e) {
        // Neu click btn save thi lay du lieu cua cac truong
        if(e.getActionCommand().equals("Save")) {
            String userName = txtUser.getText();
            String passWord = txtPassword.getText();
            String access = (String) cbAccess.getSelectedItem();

            // Tao nguoi dung moi
            Account newUser = new Account(userName, passWord, access);

            // Them nguoi dung vao danh sach
            listUser.add(newUser);
        } else {
            // Neu click Cancel thi thoat chuong trinh
            this.dispose();
        }
    }
}

File MainClass.java:


package usingUI;

import buildUI.SingUp;

public class MainClass {
    public static void main(String[] args) {
        // Tao giao dien cho phep dang ky
        SingUp singUp=new SingUp("Sign Up");
    }
}

Kết quả chương trình:


Kết luận:

  • Bạn có thể tham khảo thêm khóa học lập trình Java từ cơ bản đến nâng cao. Xem tại đây
  • Bạn có thể tham khảo thêm khóa học lập trình C từ cơ bản đến nâng cao. Xem tại đây
  • Bạn có thể tham khảo thêm khóa học Thành thạo lập trình C#. Xem tại đây
  • Bạn có thể tham khảo thêm khóa học Ôn tập OOP cơ bản trong Java. Xem tại đây

Có thể bạn sẽ thích…

Trả lời

EnglishVietnamese