java實(shí)現(xiàn)簡(jiǎn)單登錄界面的實(shí)戰(zhàn)過(guò)程
一、概要
我們可以用java實(shí)現(xiàn)簡(jiǎn)單的登錄界面。

如上效果,直觀但也需要一步一步來(lái)完成,從界面彈窗的設(shè)置,圖片的插入,文本框的設(shè)置,到登錄的按鈕,全由代碼來(lái)實(shí)現(xiàn)。
二、分類部分
LoginUI類:實(shí)現(xiàn)界面的設(shè)置,構(gòu)建方法,封裝好所有的界面開(kāi)發(fā)代碼
①initUI方法 :1、創(chuàng)建窗體對(duì)象;
2、設(shè)置窗體的相關(guān)屬性(標(biāo)題、尺寸、大小、關(guān)閉、可視化);
3、創(chuàng)建組件對(duì)象,按鈕,輸入框;
4、界面窗口添加按鈕;
5、按鈕添加監(jiān)聽(tīng)器。
②main方法 :用自己的類創(chuàng)建對(duì)象,調(diào)用自己的方法
ButtonAction類:監(jiān)聽(tīng)器,獲取鼠標(biāo)點(diǎn)擊按鈕的信息,(繼承ActionListener)
我們添加按鈕后,需要一個(gè)點(diǎn)擊按鈕后有反應(yīng)的功能,故設(shè)置此類,能在點(diǎn)擊按鈕后做出反應(yīng)。
比如此處我們?cè)O(shè)置初始賬戶admin,密碼123456,可以輸入后,點(diǎn)擊登錄,跳出登錄成功的界面。
①成員方法actionPerformed,傳入?yún)?shù)(actionPerformed)
②成員變量
public int count = 0;
//先聲明一個(gè)輸入框的引用地址存儲(chǔ)變量;
public JTextField nameJtf;
public JTextField pwdJtf;
public JFrame jf1;繼承ActionListener后,必須重寫(xiě)里面的方法actionPerformed(用ctrl+鼠標(biāo)左鍵 看到源文件代碼)
此即監(jiān)聽(tīng)器。
三、代碼實(shí)現(xiàn)
LoginUI類:實(shí)現(xiàn)界面的設(shè)置,構(gòu)建方法,封裝好所有的界面開(kāi)發(fā)代碼
①initUI方法 :1、創(chuàng)建窗體對(duì)象;jf
2、設(shè)置窗體的相關(guān)屬性(標(biāo)題、尺寸、大小不變、位置、居中顯示、關(guān)閉、可視化);setTitle,setSize,setResizable,setLocation,setLocationRelativeTo,setDefaultCloseOperation,setVisible.
3、創(chuàng)建組件對(duì)象,按鈕,輸入框,圖片標(biāo)簽;JButton,JLabal,JTextField,ImageIcon,
4、界面窗口添加按鈕:jf.add()
5、按鈕添加監(jiān)聽(tīng)器。ButtonAction btnactino = new ButtonAction();
btnaction.addActionListener(btnaction).
②main方法 :用自己的類創(chuàng)建對(duì)象,調(diào)用自己的方法;
//LoginUI類:實(shí)現(xiàn)界面的設(shè)置,構(gòu)建方法,封裝好所有的界面開(kāi)發(fā)代碼
//①initUI方法 :1、創(chuàng)建窗體對(duì)象;
//2、設(shè)置窗體的相關(guān)屬性(標(biāo)題、尺寸、大小、關(guān)閉、可視化);
//3、創(chuàng)建組件對(duì)象,按鈕,輸入框;
//4、界面窗口添加按鈕;
//5、按鈕添加監(jiān)聽(tīng)器。
//②main方法 :用自己的類創(chuàng)建對(duì)象,調(diào)用自己的方法
public class LoginUI {
//一、界面方法
public void initUI(){
//1:創(chuàng)建一個(gè)窗體的對(duì)象;
JFrame jf = new JFrame();
//2:設(shè)置窗體的相關(guān)屬性:標(biāo)題,尺寸,關(guān)閉選項(xiàng)操作 可視化
jf.setTitle("登錄界面");
jf.setSize(500,800); //像素單位
jf.setResizable(false); //尺寸固定
//jf.setLocation(1000,400); //位置固定 可更改
jf.setLocationRelativeTo(null); //居中顯示
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //退出方式
jf.setVisible(true);
FlowLayout f1 = new FlowLayout(); //流式布局
jf.setLayout(f1);
//3:創(chuàng)建組件對(duì)象,按鈕,輸入框
//按鈕
JButton btn = new JButton ("登錄");
//標(biāo)簽
JLabel namejla = new JLabel("賬號(hào): ");
JLabel pwdjla = new JLabel ("密碼: ");
//輸入框
JTextField nameJtf = new JTextField();
JTextField pwdJtf = new JTextField();
//圖片標(biāo)簽
ImageIcon imgicon = new ImageIcon("C:\\Users\\Desktop\\picture\\picture.jpeg");//圖片插入,更改圖片路徑,需要注意后綴
JLabel imgjla = new JLabel(imgicon);
//組件設(shè)置尺寸
Dimension dimsize = new Dimension (420,50);
nameJtf.setPreferredSize(dimsize);
pwdJtf.setPreferredSize(dimsize);
//4:界面窗體添加按鈕
jf.add(imgjla);
jf.add(namejla);
jf.add(nameJtf);
jf.add(pwdjla);
jf.add(pwdJtf);
jf.add(btn);
//可視化在所有組件加載之后
jf.setVisible(true); //可視化 交給系統(tǒng)渲染到屏幕上
//按鈕添加監(jiān)聽(tīng)器
ButtonAction btnaction = new ButtonAction();
btn.addActionListener(btnaction);
btnactino.count=100;
btnactino.nameJtf= nameJtf;
btnactino.pwdJtf= pwdJtf;
}
//二、主函數(shù)部分
public static void main(String[] args) {
//創(chuàng)建自己寫(xiě)的類的對(duì)象;
LoginUI loginui = new LoginUI();
//調(diào)用方法
loginui.initUI();
}
}ButtonAction類:監(jiān)聽(tīng)器,獲取鼠標(biāo)點(diǎn)擊按鈕的信息,(繼承ActionListener)
public class ButtonAction implements ActionListener{ //監(jiān)聽(tīng)器
public int count = 0;
//先聲明一個(gè)輸入框的引用地址存儲(chǔ)變量;
public JTextField nameJtf;
public JTextField pwdJtf;
public JFrame jf1;
//監(jiān)聽(tīng)器
public void actionPerformed(ActionEvent e) {
//獲取輸入框中的字符串
String nameText = nameJtf.getText();
String pwdText = pwdJtf.getText();
//比較賬號(hào) 密碼 設(shè)置初始賬戶admin,密碼123456
if(nameText.equals("admin") || nameText.equals("user1")) {
System.out.println("比較成功??!");
if(pwdText.equals("123456") || pwdText.equals("a123456")) {
System.out.println("比較成功!!");
//創(chuàng)建一個(gè)新窗體彈出
JFrame jf = new JFrame();
jf.setTitle("登錄響應(yīng)!!");
jf.setSize(500,200);
jf.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
java.awt.FlowLayout f1 = new java.awt.FlowLayout();
jf.setLayout(f1);
JLabel jla =new JLabel ("登錄成功?。?);
jf.add(jla);
jf.setVisible(true);
jf.setLocationRelativeTo(null);//居中顯示
}
}
}
}
總結(jié)
到此這篇關(guān)于java實(shí)現(xiàn)簡(jiǎn)單登錄界面的文章就介紹到這了,更多相關(guān)java簡(jiǎn)單登錄界面內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java實(shí)現(xiàn)單鏈表翻轉(zhuǎn)實(shí)例代碼
Java實(shí)現(xiàn)單鏈表反轉(zhuǎn),遞歸和非遞歸兩種形式。接下來(lái)通過(guò)本文給大家分享Java實(shí)現(xiàn)單鏈表翻轉(zhuǎn)實(shí)例代碼,需要的的朋友參考下2017-03-03
Springboot+Vue+axios實(shí)現(xiàn)文章收藏功能
這篇文章主要為大家詳細(xì)介紹了Springboot+Vue+axios實(shí)現(xiàn)文章收藏功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-08-08
Java高效數(shù)據(jù)傳輸通過(guò)綁定快速將數(shù)據(jù)導(dǎo)出至Excel
這篇文章主要介紹了Java高效數(shù)據(jù)傳輸之通過(guò)綁定快速將數(shù)據(jù)導(dǎo)出至Excel方法實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11
基于springboot實(shí)現(xiàn)一個(gè)簡(jiǎn)單的aop實(shí)例
這篇文章主要介紹了基于springboot實(shí)現(xiàn)一個(gè)簡(jiǎn)單的aop,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-11-11
SpringBoot基于Redis實(shí)現(xiàn)短信登錄的操作
驗(yàn)證碼登錄是非常常見(jiàn)的一種登錄方式,能夠簡(jiǎn)化用戶登錄的過(guò)程,本文主要介紹了SpringBoot基于Redis實(shí)現(xiàn)短信登錄的操作,具有一定的參考價(jià)值,感興趣的可以了解一下2023-12-12
idea創(chuàng)建springboot項(xiàng)目和springcloud項(xiàng)目的詳細(xì)教程
這篇文章主要介紹了idea創(chuàng)建springboot項(xiàng)目和springcloud項(xiàng)目方法,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-10-10
Java使用flyway實(shí)現(xiàn)腳本自動(dòng)化的方法詳解
Flyway是一個(gè)開(kāi)源的數(shù)據(jù)庫(kù)版本控制工具,主要用于管理數(shù)據(jù)庫(kù)的版本和變更,它可以自動(dòng)化地將數(shù)據(jù)庫(kù)遷移到不同的版本,同時(shí)支持多種數(shù)據(jù)庫(kù)類型,本文給大家介紹了如何使用flyway實(shí)現(xiàn)腳本自動(dòng)化,需要的朋友可以參考下2023-10-10

