java實(shí)現(xiàn)簡(jiǎn)單登錄界面的實(shí)戰(zhàn)過(guò)程
一、概要
我們可以用java實(shí)現(xiàn)簡(jiǎn)單的登錄界面。
如上效果,直觀(guān)但也需要一步一步來(lái)完成,從界面彈窗的設(shè)置,圖片的插入,文本框的設(shè)置,到登錄的按鈕,全由代碼來(lái)實(shí)現(xiàn)。
二、分類(lèi)部分
LoginUI類(lèi):實(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方法 :用自己的類(lèi)創(chuàng)建對(duì)象,調(diào)用自己的方法
ButtonAction類(lèi):監(jiān)聽(tīng)器,獲取鼠標(biāo)點(diǎn)擊按鈕的信息,(繼承ActionListener)
我們添加按鈕后,需要一個(gè)點(diǎn)擊按鈕后有反應(yīng)的功能,故設(shè)置此類(lèi),能在點(diǎn)擊按鈕后做出反應(yīng)。
比如此處我們?cè)O(shè)置初始賬戶(hù)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類(lèi):實(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方法 :用自己的類(lèi)創(chuàng)建對(duì)象,調(diào)用自己的方法;
//LoginUI類(lèi):實(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方法 :用自己的類(lèi)創(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ě)的類(lèi)的對(duì)象; LoginUI loginui = new LoginUI(); //調(diào)用方法 loginui.initUI(); } }
ButtonAction類(lèi):監(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è)置初始賬戶(hù)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-03Springboot+Vue+axios實(shí)現(xiàn)文章收藏功能
這篇文章主要為大家詳細(xì)介紹了Springboot+Vue+axios實(shí)現(xiàn)文章收藏功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-08-08Java高效數(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-11SpringBoot基于Redis實(shí)現(xiàn)短信登錄的操作
驗(yàn)證碼登錄是非常常見(jiàn)的一種登錄方式,能夠簡(jiǎn)化用戶(hù)登錄的過(guò)程,本文主要介紹了SpringBoot基于Redis實(shí)現(xiàn)短信登錄的操作,具有一定的參考價(jià)值,感興趣的可以了解一下2023-12-12Java實(shí)現(xiàn)租車(chē)管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)租車(chē)管理系統(tǒng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-01-01idea創(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-10Java使用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ù)類(lèi)型,本文給大家介紹了如何使用flyway實(shí)現(xiàn)腳本自動(dòng)化,需要的朋友可以參考下2023-10-10