用Java制作用戶登錄界面超詳細(xì)圖文教程
一、創(chuàng)建一個新的空白文件夾(確保Java運行時的環(huán)境干凈)
二、數(shù)據(jù)準(zhǔn)備:導(dǎo)入數(shù)據(jù)素材
依次選擇:文件-新建-項目-

三、數(shù)據(jù)導(dǎo)入

1.1選擇你準(zhǔn)備導(dǎo)入的數(shù)據(jù)庫地址

1.2選擇從現(xiàn)有項目導(dǎo)出

1.3點擊創(chuàng)建


1.4刷新數(shù)據(jù)
然后就看到了這個并沒有數(shù)據(jù)的界面,此時不要慌,因為我們還有一個步驟:打開你所建項目的文件夾的路徑,將你想要導(dǎo)入的文件夾復(fù)制粘貼到這個路徑下面,然后再回到咱們的Java里面,刷新一下,數(shù)據(jù)就出來了,如下圖

1.5代碼轉(zhuǎn)換

四、設(shè)計登錄界面
在Java界面,點開數(shù)據(jù)包中文件夾下的windows,點開它,根據(jù)代碼注解,就可以運行和修改登錄界面了,我把代碼發(fā)在下面,需要的同學(xué)可自取

這樣就成功了

如果還想進一步學(xué)習(xí)圖書登錄界面的跳轉(zhuǎn),可以跳轉(zhuǎn)到下一個界面的那種,就可以看我的下一篇文章,里面或許可以給到大家解決的方法。
這是Login的代碼,有需要的同學(xué)們自提~
package windows;
import java.awt.Rectangle;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
import util.GlobalVar;
import data.UserDao;
import entity.User;
public class Login extends PublicJFrame {
/** 成員變量 */
private JTextField tf_user;// 定義用戶名文本框
private JPasswordField pf_pass;// 定義密碼框
private JButton bt_login;// 定義登錄按鈕
private JButton bt_close;// 定義關(guān)閉按鈕
/** 構(gòu)造方法:用于 初始化“登錄界面” */
Login() {
// 第1步:獲取框架內(nèi)容面板,并設(shè)置內(nèi)容面板的布局為絕對布局
this.getContentPane().setLayout(null);
// 第2步:在框架的內(nèi)容面板上,創(chuàng)建、 設(shè)置各個組件
JLabel lb_user = new JLabel("用戶名:");// 創(chuàng)建用戶名標(biāo)簽
// 設(shè)置用戶名標(biāo)簽的放置位置和放置大小
lb_user.setBounds(new Rectangle(100, 50, 70, 25));
add(lb_user);// 將用戶名標(biāo)簽添加到內(nèi)容面板上
tf_user = new JTextField();// 創(chuàng)建用戶名文本框
tf_user.setBounds(new Rectangle(170, 50, 110, 25));
add(tf_user);
JLabel lb_pass = new JLabel("密碼:");// 創(chuàng)建密碼標(biāo)簽
lb_pass.setBounds(new Rectangle(100, 90, 50, 25));
add(lb_pass);
pf_pass = new JPasswordField();// 創(chuàng)建密碼框
pf_pass.setBounds(new Rectangle(170, 90, 110, 25));
add(pf_pass);
bt_login = new JButton("登錄");// 創(chuàng)建登錄按鈕
bt_login.setBounds(new Rectangle(100, 160, 80, 25));
// 第3步:為按鈕添加單擊事件監(jiān)聽器
// 為“登錄”按鈕添加單擊事件監(jiān)聽器
bt_login.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// 調(diào)用“登錄”按鈕事件響應(yīng)方法
bt_login_actionPerformed();
}
});
add(bt_login);
bt_close = new JButton("關(guān)閉");// 創(chuàng)建關(guān)閉按鈕
bt_close.setBounds(new Rectangle(200, 160, 80, 25));
// 為“關(guān)閉”按鈕添加單擊事件監(jiān)聽器
bt_close.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// 釋放“登錄界面”占用的屏幕資源,即關(guān)閉“登錄界面”
dispose();
}
});
add(bt_close);
// 第4步:設(shè)置“登錄界面的標(biāo)題、大小、位置等屬性
setTitle("大帥哥-登錄界面");// 設(shè)置“登錄界面”標(biāo)題
setSize(380, 260);// 設(shè)置“登錄界面”大小
setResizable(false);// 設(shè)置“登錄界面”大小不可改變
setLocationRelativeTo(null);// 設(shè)置“登錄界面”放置在屏幕中央
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 設(shè)置“登錄界面”默認(rèn)的關(guān)閉操作
}
/** 成員方法1: "登錄"按鈕的事件響應(yīng)方法 */
void bt_login_actionPerformed() {
// 第1步:獲得用戶名和密碼
String name = tf_user.getText().trim();
String pass = new String(pf_pass.getPassword()).trim();
// 第2步:判斷用戶名或密碼是否為空?
if (name.equals("") || pass.equals("")) {
// 為空,則顯示對話框,給出提示信息,并返回
JOptionPane.showMessageDialog(this, "用戶信息不允許為空!");
return;
}
// 第3步:調(diào)用方法,獲取登錄用戶對象
User user = UserDao.getUser(name, pass);
// 第4步:判斷登錄用戶對象是否存在?
if (user != null) {
// 第5步:存在,則保存當(dāng)前登錄用戶對象,創(chuàng)建系統(tǒng)主界面,根據(jù)用戶權(quán)限設(shè)置主界面,關(guān)閉登錄界面
GlobalVar.login_user = user;// 保存當(dāng)前登錄用戶對象
// System.out.println("進入系統(tǒng)主界面");
MainFrame main = new MainFrame();// 創(chuàng)建系統(tǒng)主界面
// 根據(jù)用戶權(quán)限,設(shè)置需要顯示的系統(tǒng)主界面內(nèi)容
main.setPurView((byte) user.getIs_admin());//此方法在系統(tǒng)主界面中定義
this.dispose();// 釋放“登錄界面”占用的屏幕資源
} else {
// 第6步:不存在, 顯示提示對話框,清空用戶名和密碼
JOptionPane.showMessageDialog(this, "用戶名或密碼錯誤!");
tf_user.setText("");// 清空用戶名文本框
pf_pass.setText("");// 清空密碼框
return;
}
}
/** 主方法:“圖書管理系統(tǒng)”入口 */
public static void main(String args[]) {
new Login();// 創(chuàng)建登錄界面
}
}總結(jié)
到此這篇關(guān)于用Java制作用戶登錄界面超詳細(xì)圖文教程的文章就介紹到這了,更多相關(guān)Java用戶登錄界面內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用Spring的StopWatch實現(xiàn)代碼性能監(jiān)控的方法詳解
在開發(fā)過程中,偶爾還是需要分析代碼的執(zhí)行時間,Spring 框架提供了一個方便的工具類 StopWatch,本文將介紹 StopWatch 的基本用法,并通過示例演示如何在項目中使用 StopWatch 進行代碼性能監(jiān)控2023-12-12
java用字節(jié)數(shù)組解決FileInputStream讀取漢字出現(xiàn)亂碼問題
這篇文章主要介紹了java用字節(jié)數(shù)組解決FileInputStream讀取漢字出現(xiàn)亂碼問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-05-05
Springboot從配置文件properties讀取字符串亂碼的解決
這篇文章主要介紹了Springboot從配置文件properties讀取字符串亂碼的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-02-02
Springboot整合Netty自定義協(xié)議實現(xiàn)示例詳解
這篇文章主要為大家介紹了Springboot整合Netty自定義協(xié)議實現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-11-11
Java concurrency集合之ArrayBlockingQueue_動力節(jié)點Java學(xué)院整理
ArrayBlockingQueue是數(shù)組實現(xiàn)的線程安全的有界的阻塞隊列。下面通過本文給大家介紹Java concurrency集合之ArrayBlockingQueue的相關(guān)知識,感興趣的朋友一起看看吧2017-06-06
solr 配置中文分析器/定義業(yè)務(wù)域/配置DataImport功能方法(測試用)
下面小編就為大家?guī)硪黄猻olr 配置中文分析器/定義業(yè)務(wù)域/配置DataImport功能方法(測試用)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-09-09

