版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 Java通用登錄界面完整版這個登錄界面基本適合各種初學(xué)者學(xué)習(xí)java圖形化登錄界面的需求,適合各種課設(shè)登錄界面的設(shè)計。關(guān)鍵字:用戶信息流文件保存、超級用戶權(quán)限這個登錄界面實現(xiàn)有幾點在做過程中的心得:1 對注冊用戶名和密碼的保存和讀取: 使用了Properties 來進(jìn)行對用戶注冊信息的讀取和存放,key值和vlues值存放方式固定,通過輸入key值來查找vluse值,再對比輸入的vluse值是否匹配;選擇io流操作時要注意,選擇可以保存數(shù)據(jù)的流操作,并且添加不會覆蓋原文件信息;2 設(shè)定一個超級管理權(quán)限: 小玩意,主要是flag的標(biāo)記跳出循環(huán)操作;3 對比了解通過setvisible()、di
2、spose()、System.exit(0);對界面取消的選擇setvisible()可以通過boolean值來決定是否顯示;dispose()關(guān)閉當(dāng)前窗口,釋放資源;System.exit(0);退出程序;非0表示非正常退出,可用在異常處理里;4 對條件判斷語句的大量使用,分清程序結(jié)構(gòu)是關(guān)鍵:使得界面交互性和容錯性更強,用戶體驗更佳/完整代碼如下,完美運行package addreebook;import java.awt.BorderLayout;import java.awt.Container;import java.awt.FlowLayout;import java.awt.eve
3、nt.ActionEvent;import java.awt.event.ActionListener;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.io.PrintWriter;import java.util.Properties;import java.util.Scanner;i
4、mport javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JPasswordField;import javax.swing.JTextField;/創(chuàng)建一個登錄界面SuppressWarnings("unused")public class Login implements ActionListener private JFr
5、ame frame1 = new JFrame("請輸入標(biāo)題");private Container c = frame1.getContentPane();private JTextField username = new JTextField();private JPasswordField password = new JPasswordField();private JButton ok = new JButton("確定");private JButton cancel = new JButton("取消");private
6、 JButton zhuce=new JButton("注冊");Properties prop=new Properties(); /登錄界面屬性設(shè)置public Login()frame1.setSize(300,200);c.setLayout(new BorderLayout();initFrame();frame1.setVisible(true); /登錄界面初始化private void initFrame()/頂部JPanel titlePanel = new JPanel();titlePanel.setLayout(new FlowLayout();ti
7、tlePanel.add(new JLabel("管理員登錄");c.add(titlePanel,"North");/中部JPanel fieldPanel = new JPanel();fieldPanel.setLayout(null);JLabel l1 = new JLabel("用戶名:");l1.setBounds(50, 20, 50, 20);JLabel l2 = new JLabel("密 碼:");l2.setBounds(50, 60, 50, 20);fieldPanel.add(l1)
8、;fieldPanel.add(l2);username.setBounds(110,20,120,20);password.setBounds(110,60,120,20);fieldPanel.add(username);fieldPanel.add(password);c.add(fieldPanel,"Center");/底部按鈕JPanel buttonPanel = new JPanel();buttonPanel.setLayout(new FlowLayout();buttonPanel.add(ok);buttonPanel.add(cancel);but
9、tonPanel.add(zhuce);c.add(buttonPanel,"South");/為底部按鈕加監(jiān)聽ok.setActionCommand("ok");cancel.setActionCommand("cancel");zhuce.setActionCommand("zhuce"); ok.addActionListener(this); cancel.addActionListener(this); zhuce.addActionListener(this); /事件監(jiān)聽SuppressWarning
10、s( "deprecation" )public void actionPerformed(ActionEvent event)/監(jiān)聽確定按鈕if(event.getSource()=ok)if(username.getText().equals("")JOptionPane.showMessageDialog(null, "請輸入用戶名:");elseif(password.getText().equals("")JOptionPane.showMessageDialog(null, "請輸入用戶名密碼
11、:");elsetry FileReader file = new FileReader("src/perties");prop.load(new FileInputStream("src/perties"); /prop方法必須加載文件進(jìn)來,否則用戶查找不到String str=username.getText();/如果不為空,說明能找到相對應(yīng)的密碼,那么此用戶名已經(jīng)存在if(prop.getProperty(str)=null)JOptionPane.showMessageDialog(
12、null, "用戶還沒注冊,請您輸入注冊用戶名!");username.setText(""); else if(password.getText().equals(prop.getProperty(str) JOptionPane.showMessageDialog(null, "歡迎回來!n"+str); /調(diào)到主界面 new MyAddBook(); frame1.dispose(); else JOptionPane.showMessageDialog(null, "請輸入正確的密碼!"); passwor
13、d.setText(""); catch (FileNotFoundException e) / TODO Auto-generated catch blocke.printStackTrace();catch (IOException e) / TODO Auto-generated catch blocke.printStackTrace(); /監(jiān)聽取消按鈕else if(event.getSource()=cancel) System.exit(0);/監(jiān)聽注冊按鈕else if(event.getSource()=zhuce)/控制超級權(quán)限密碼驗證次數(shù)int i=
14、3;/標(biāo)記,達(dá)到次數(shù),跳出循環(huán)boolean flag=false; while(i>0)Object obj=JOptionPane.showInputDialog(c,"請輸入超級權(quán)限密碼:", "獲取超級權(quán)限",JOptionPane.PLAIN_MESSAGE, null, null, "您還有"+i+"次獲取權(quán)限機會");i-; flag=true; /超級權(quán)限密碼 String sp="419821" if(obj=null) JOptionPane.showMessageDi
15、alog(null, "Please input super password! "); else if(sp.equals(obj) new zhuce(); break; else JOptionPane.showMessageDialog(null, "Please try again! "); /主函數(shù)public static void main(String args) /程序入口new Login();/創(chuàng)建一個注冊界面class zhuce implements ActionListener private JFrame frame2=n
16、ew JFrame("注冊管理員");private Container c1 = frame2.getContentPane();private JTextField username1 = new JTextField();private JPasswordField password1 = new JPasswordField();private JPasswordField password2=new JPasswordField();private JButton yes = new JButton("確定");private JButton
17、no = new JButton("取消");Properties prop=new Properties();/注冊界面屬性設(shè)置public zhuce() initFrame2();frame2.setSize(300,200);frame2.setVisible(true);/注冊界面初始化 private void initFrame2() /頂部 JPanel titlePanel = new JPanel();titlePanel.setLayout(new FlowLayout();titlePanel.add(new JLabel("請輸入注冊用戶
18、用戶名和密碼:");c1.add(titlePanel,"North");/中部JPanel fieldPanel1 = new JPanel();fieldPanel1.setLayout(null);JLabel l1 = new JLabel("請輸入用戶名:");l1.setBounds(30, 20, 150, 20);JLabel l2 = new JLabel("請輸入密 碼:");l2.setBounds(30, 50, 150, 20);JLabel l3 = new JLabel("請確認(rèn)密 碼
19、:");l3.setBounds(30, 80, 150, 20);fieldPanel1.add(l1);fieldPanel1.add(l2);fieldPanel1.add(l3);username1.setBounds(130,20,120,20);password1.setBounds(130,50,120,20);password2.setBounds(130,80,120,20);fieldPanel1.add(username1);fieldPanel1.add(password1);fieldPanel1.add(password2);c1.add(fieldPan
20、el1,"Center");/底部JPanel buttonPanel = new JPanel();buttonPanel.setLayout(new FlowLayout();buttonPanel.add(yes);buttonPanel.add(no);c1.add(buttonPanel,"South");yes.setActionCommand("yes");no.setActionCommand("no"); yes.addActionListener(this); no.addActionListe
21、ner(this); /事件監(jiān)聽SuppressWarnings("deprecation")public void actionPerformed(ActionEvent event1)/監(jiān)聽確定按鈕if(event1.getSource()=yes)if(username1.getText().equals("")JOptionPane.showMessageDialog(null,"創(chuàng)建失敗,姓名必須填寫!");elseif(password1.getText().equals("")JOptionPane.
22、showMessageDialog(null,"創(chuàng)建失敗,密碼必須填寫!");elseif(password2.getText().equals("")JOptionPane.showMessageDialog(null,"創(chuàng)建失敗,確認(rèn)密碼必須填寫!");elsetry FileWriter fw = new FileWriter("src/perties",true); PrintWriter pw=new PrintWriter(fw); prop.load(new FileInputStream("src/perties"); pw.flush(); if(prop.getProperty(username1.getText()!=null) JOptionPane.showM
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 新能源項目維穩(wěn)工作方案
- 智能家居物聯(lián)網(wǎng)平臺解決方案
- 化妝品行業(yè)成分中毒應(yīng)急處理方案
- 三人合伙創(chuàng)業(yè)協(xié)議書
- 旅游業(yè)后勤服務(wù)管理制度
- 自動駕駛汽車性能測試方案
- 旅游行業(yè)質(zhì)量安全管理制度
- 社區(qū)青少年心理健康干預(yù)方案
- 污水處理工程項目物料管理制度
- 物流園區(qū)建設(shè)安全整治方案
- 技工英語教案(共46頁)
- 當(dāng)前電力物資采購產(chǎn)品質(zhì)量風(fēng)險問題及管理策略探討
- DDL法在英語寫作中的應(yīng)用研究
- 關(guān)于新冠肺炎污水應(yīng)急監(jiān)測的技術(shù)探討
- 北信源-終端準(zhǔn)入控制系統(tǒng)
- 合作建房協(xié)議書【范本】(通用版)(精編版)
- CM-4 融創(chuàng)集團結(jié)算管理制度
- 有關(guān)護理糾紛的案例
- 最新標(biāo)準(zhǔn)版合同范本直飲水工程合同通用模板
- 循環(huán)系統(tǒng)pbl案例(教師版)
- 血脂異?;鶎雍侠碛盟幹改?2021全文版)
評論
0/150
提交評論