[JAVA Swing] 用戶登錄界面 (1)


[JAVA Swing] 用戶登錄界面 (2)

[JAVA Swing] 用戶登錄界面 (3)

 

登錄界面要求:

1、用戶名和密碼輸入有限制,比如長度為10位以下等;

2、點重置則清空用戶名和密碼的輸入,光標定位到用戶名文本框中;

3、輸入用戶名和密碼后,根據根據情況提示成功或提示有誤,請重新輸入。

4、點注冊按鈕后則跳轉到注冊界面。

 

注冊界面需求:

1、用戶名輸入有限制,比如長度為10位以下等;

2、密碼輸入有限制,如必須使用字符與數字組合,長度為15位以下等;

3、對密碼與確認密碼的輸入進行判斷,當兩次輸入不同時提示重新確認;

4、點注冊按鈕后完成注冊並提示注冊成功與否

5、點重置則清空用戶名和密碼的輸入,光標定位到用戶名文本框中;

界面預覽:

 

第一步先把窗口設計出來,這一步比較簡單,只是把組件作一些封裝和排列

java Swing圖形界面的組件介紹和用法可以學習dalao的博客 ==> 傳送門

深入地探究還可以學習API參考文獻 ==> 傳送門

package login;
//登陸界面類
import java.awt.FlowLayout;

import javax.swing.Box;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;

public class Lfr {
    //公共靜態主登陸界面框
    public static JFrame frame = new JFrame("登錄界面");
    //登陸界面組件
    public static JLabel label1 = new JLabel("用戶名");                 //標簽
    public static JTextField username = new JTextField(10);            //文本框
    public static JLabel label2 = new JLabel("密   碼");
    public static JPasswordField password = new JPasswordField(10);    //密碼文本框
    public static JButton Signinbtn = new JButton("登錄");              //按鈕
    public static JButton registerbtn = new JButton("注冊");
    public static JButton resetbtn = new JButton("重置");
    //構造函數,創建以及初始化窗口
    public Lfr() {
        
        //設置窗口大小
        frame.setSize(350, 200);
        //設置按下右上角X號后關閉
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        //調用函數初始化窗體的組件
        initFrame();
        //窗口居中
        frame.setLocationRelativeTo(null);
        //窗口可見
        frame.setVisible(true);
    }
    
    public void initFrame() {
        //定義面板封裝文本框和標簽
        JPanel panel01 = new JPanel(new FlowLayout(FlowLayout.CENTER));  //居中面板
        panel01.add(label1);
        panel01.add(username);

        JPanel panel02 = new JPanel(new FlowLayout(FlowLayout.CENTER));
        panel02.add(label2);
        panel02.add(password);

        //定義面板封裝按鈕
        JPanel panel03 = new JPanel(new FlowLayout(FlowLayout.CENTER));
        panel03.add(Signinbtn);
        panel03.add(registerbtn);
        panel03.add(resetbtn);
        
        //箱式布局裝入三個面板
        Box vBox = Box.createVerticalBox(); 
        vBox.add(panel01);
        vBox.add(panel02);
        vBox.add(panel03);
        
        //將布局置入窗口
        frame.setContentPane(vBox);
    }
    
    public static void main(String[] args) {
        new Lfr();
        }

}
package login;
//注冊界面類
import java.awt.FlowLayout;
import java.awt.Rectangle;

import javax.swing.Box;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;

public class Rfr {
    
    public static JFrame frame2 = new JFrame("注冊界面");
    public static JLabel label3 = new JLabel("確認密碼");
    public static JPasswordField conpassword = new JPasswordField(8);
    public static JButton rregisterbtn = new JButton("注冊");
    
    public Rfr() {
        
        //設置窗口大小
        frame2.setSize(350, 200);
        //設置按下右上角X號后關閉
        frame2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        //調用函數初始化窗體的組件
        initFrame2();
        //新窗口與舊窗口錯開50像素。
        frame2.setBounds(
                new Rectangle(
                        (int) Lfr.frame.getBounds().getX()+ 50,
                        (int) Lfr.frame.getBounds().getY() + 50, 
                        (int) Lfr.frame.getBounds().getWidth(), 
                        (int) Lfr.frame.getBounds().getHeight()
                ));
        //窗口可見
        frame2.setVisible(true);
    }

    public void initFrame2() {
        
        JPanel panel11 = new JPanel();
        panel11.add(Lfr.label1);
        panel11.add(Lfr.username);
        
        JPanel panel12 = new JPanel();
        panel12.add(Lfr.label2);
        panel12.add(Lfr.password);
        
        JPanel panel13 = new JPanel();
        panel13.add(label3);
        panel13.add(conpassword);
        
        JPanel panel14 = new JPanel(new FlowLayout(FlowLayout.CENTER));
        panel14.add(rregisterbtn);
        panel14.add(Lfr.resetbtn);
        
        Box vBox = Box.createVerticalBox(); 
        vBox.add(panel11);
        vBox.add(panel12);
        vBox.add(panel13);
        vBox.add(panel14);
        
        frame2.setContentPane(vBox);
    }
    public static void register() {
        new Rfr();
        }

}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM