Java編寫實(shí)現(xiàn)登陸窗口
本文實(shí)例為大家分享了Java編寫登陸窗口的具體代碼,供大家參考,具體內(nèi)容如下
要求:用戶名和密碼正確后進(jìn)入首頁,錯(cuò)誤提示錯(cuò)誤,并且3次錯(cuò)誤后將退出窗口。
我初學(xué)JavaGUI,現(xiàn)在我把我的思路寫一下,
1、主窗口,窗口上有文本輸入框和登陸按鈕,如圖
2、在登陸按鈕和取消按鈕上設(shè)置時(shí)間監(jiān)聽機(jī)制,
取消:退出程序;
登陸:獲取用戶名和密碼,然后與自己保存的用戶名密碼作比較,現(xiàn)在兩種情況,正確與錯(cuò)誤,
正確:關(guān)閉登陸窗口,并彈出新窗口,新窗口即為首頁;
錯(cuò)誤:彈出新窗口,提示錯(cuò)誤,并且累加,超過三次則推出程序,
現(xiàn)在粘上代碼,
import java.awt.Container; import java.awt.Image; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; ? import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JTextField; ? public class Test10_3 { ?? ?public static void main(String [] args){ ?? ??? ?Denglu de = new Denglu(); ?? ?} } ? class Denglu{ ?? ?private JFrame jf = new JFrame("登陸窗口"); ?? ?private JButton jb1 = new JButton("用戶名"); ?? ?private JButton jb2 = new JButton("密碼"); ?? ?private JButton jbLogin = new JButton("登陸"); ?? ?private JButton jbquxiao = new JButton("取消"); ?? ?private JTextField jtName = new JTextField(); ?? ?private JTextField jtPwd = new JTextField(); ?? ?private final String mima = "sss111";//此為預(yù)設(shè)的密碼 ?? ?private int count = 0; ?? ? ?? ?private JFrame jfZhu = new JFrame(); ?? ?ImageIcon image = new ImageIcon("C:\\Users\\sss\\Desktop\\index.jpg");//這為我的圖片路徑 ?? ?private JLabel jlZhu = new JLabel(image); ?? ? ?? ?private JFrame jfCuo = new JFrame(); ?? ?private JLabel jlCuo = new JLabel("你輸入的用戶名密碼不匹配!"); ? ?? ?public Denglu(){ ?? ??? ?Container cp = jf.getContentPane(); ?? ??? ?cp.setLayout(null); ?? ??? ? ?? ??? ?jtName.setBounds(150,50,100,20); ?? ??? ?cp.add(jtName); ?? ??? ?jb1.setBounds(10,50,100,20); ?? ??? ?cp.add(jb1); ? ?? ??? ?jtPwd.setBounds(150,100,100,20); ?? ??? ?cp.add(jtPwd); ?? ??? ?jb2.setBounds(10,100,100,20); ?? ??? ?cp.add(jb2); ?? ??? ? ?? ??? ?jbLogin.setBounds(20, 150, 100, 20); ?? ??? ?jbquxiao.setBounds(150, 150, 100, 20); ?? ??? ?cp.add(jbLogin); ?? ??? ?cp.add(jbquxiao); ?? ??? ? ?? ??? ?jbquxiao.addActionListener(new ActionListener() { ?? ??? ??? ? ?? ??? ??? ?public void actionPerformed(ActionEvent e) { ?? ??? ??? ??? ?System.exit(0); ?? ??? ??? ?} ?? ??? ?}); ?? ??? ? ?? ??? ?jbLogin.addActionListener(new ActionListener(){ ?? ??? ??? ? ?? ??? ??? ?public void actionPerformed(ActionEvent e){ ?? ??? ??? ??? ?String name = jtName.getText(); ?? ??? ??? ??? ?String pwd = jtPwd.getText(); ?? ??? ??? ??? ?String aa = name+pwd; ?? ??? ??? ??? ?if(aa.equals(mima)){?? ??? ??? ?//Java中判斷兩個(gè)字符串相等用equals()函數(shù)。 ?? ??? ??? ??? ??? ?jf.dispose();?? ?//關(guān)閉登陸面板 ?? ??? ??? ??? ??? ?Container cp2 = jfZhu.getContentPane(); ?? ??? ??? ??? ??? ?cp2.setLayout(null); ?? ??? ??? ??? ??? ? ?? ??? ??? ??? ??? ?jlZhu.setBounds(0, 0, 400, 300); ?? ??? ??? ??? ??? ?cp2.add(jlZhu); ?? ??? ??? ??? ??? ?jfZhu.setSize(400,300); ?? ??? ??? ??? ??? ?jfZhu.setVisible(true); ?? ??? ??? ??? ?} ?? ??? ??? ??? ?else{ ?? ??? ??? ??? ??? ?if(0<=count&&count<3){ ?? ??? ??? ??? ??? ??? ?Container cp3 = jfCuo.getContentPane(); ?? ??? ??? ??? ??? ??? ?cp3.setLayout(null); ?? ??? ??? ??? ??? ??? ? ?? ??? ??? ??? ??? ??? ?jlCuo.setBounds(0, 0, 400, 300); ?? ??? ??? ??? ??? ??? ?cp3.add(jlCuo); ?? ??? ??? ??? ??? ??? ?jfCuo.setSize(400,300); ?? ??? ??? ??? ??? ??? ?jfCuo.setVisible(true); ?? ??? ??? ??? ??? ??? ?count++; ?? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ?else{ ?? ??? ??? ??? ??? ??? ?if(count>=3) ?? ??? ??? ??? ??? ??? ??? ?System.exit(0); ?? ??? ??? ??? ??? ?} ?? ??? ??? ??? ?} ?? ??? ??? ?} ?? ??? ?}); ?? ??? ? ?? ??? ?jf.setSize(400, 300); ?? ??? ?jf.setVisible(true); ?? ??? ? ?? ?} }
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
springboot集成WebSockets廣播消息(推薦)
這篇文章主要介紹了springboot-集成WebSockets廣播消息,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-12-12SpringBoot框架集成token實(shí)現(xiàn)登錄校驗(yàn)功能
這篇文章主要為大家詳細(xì)介紹了SpringBoot框架集成token實(shí)現(xiàn)登錄校驗(yàn)功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-08-08SpringBoot集成支付寶支付的實(shí)現(xiàn)示例
本文主要介紹了SpringBoot集成支付寶支付的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06基于kafka實(shí)現(xiàn)Spring Cloud Bus消息總線
消息總線是一種通信工具,可以在機(jī)器之間互相傳輸消息、文件等,這篇文章主要介紹了如何利用kafka實(shí)現(xiàn)SpringCloud Bus消息總線,感興趣的可以學(xué)習(xí)一下2022-04-04教你一步到位部署運(yùn)行MyBatis3源碼(保姆級(jí))
一個(gè)框架的運(yùn)行流程從最簡單的一個(gè)helloworld來看其源碼就能了解到框架的原理是什么,這篇文章主要給大家介紹了關(guān)于如何一步到位部署運(yùn)行MyBatis3源碼的相關(guān)資料,需要的朋友可以參考下2022-06-06