1. 程式人生 > >Java登入介面的實現(註冊、登入、背景圖片)

Java登入介面的實現(註冊、登入、背景圖片)

*/
 * Copyright (c) 2016,煙臺大學計算機與控制工程學院
 * All rights reserved.
 * 檔名:text.java
 * 作者:常軒
 * 微信公眾號:Worldhello
 * 完成日期:2016年12月27日
 * 版本號:V1.0
 * 程式輸入:無
 * 程式輸出:見執行結果
 */


/*功能描述:
登入介面有插入了背景圖片
實現了登入介面GUI,可以進行 賬號註冊,和賬號登入,對註冊的賬號用檔案進行儲存
*/
package com.xuan.main;
//登入介面
import java.awt.Container;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;

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 javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;

public class denglu extends JFrame {
    //設定一個含有背景圖片的面板
    private MyPanel panel;
    private JLabel lab_zhanghao = new JLabel("賬號:");
    private JTextField jta_text = new JTextField();
    Font lab = new Font("楷體",1,30);
    private JLabel lat_password = new JLabel("密碼:");
    Font lat  = new Font("楷體",1,30);
    private JPasswordField jtb_text = new JPasswordField();
    private JButton btn_register = new JButton("註冊");
    private JButton btn_land = new JButton("登陸");
    Font btn = new Font("黑體",2,30);
    public static  int pd = 0;
    public static String ak1, ak2;
    private Container contentPane = this.getContentPane();
 
    public denglu () {
        this.setSize(400,267);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setLocationRelativeTo(null);
        this.setTitle("登陸");
        this.setResizable(false);
        btn_register.addActionListener(new ActionListener() {
            @SuppressWarnings("deprecation")
			public void actionPerformed(ActionEvent e) {
                pd = 1;
                ak1 = jta_text .getText();
                ak2 = jtb_text .getText();
                String fileName = "users.dat";
                try {
                    FileWriter writer = new FileWriter(fileName,true);
                    BufferedWriter outWriter=new BufferedWriter(writer);
                    outWriter.write("ID:"+ak1+"&&"+"Password:"+ak2);
                    outWriter.newLine();
                    outWriter.close();
                    writer.close();
                } catch (IOException e1) {
                    e1.printStackTrace();
                }
                jta_text.setText("");
                jtb_text.setText("");
                JOptionPane.showMessageDialog(null,"註冊成功! 您的使用者名稱是:"+ak1+"密碼是:"+ ak2);
            }
        });
        btn_land.addActionListener(new ActionListener() {
            @SuppressWarnings("deprecation")
			public void actionPerformed(ActionEvent e) {
            	
                if(pd==1||pd==0) {
                	File fileName=new File("users.dat");
                	try{
                	FileReader inOne=new FileReader(fileName);
                	BufferedReader inTwo=new BufferedReader(inOne);
                	String s=null;
                	int judge=1;
                	while((s=inTwo.readLine())!=null)
                	{
                	  StringBuilder stringBuilder = new StringBuilder();
						stringBuilder.append("ID:");
						stringBuilder.append(jta_text.getText());
						stringBuilder.append("&&");
						stringBuilder.append("Password:");
						stringBuilder.append(jtb_text.getText());
					String ak=stringBuilder.toString();
                	  
                	  
                      if(s.equals(ak)) {
                        JOptionPane.showMessageDialog(null, "登入成功!");
                        jta_text .setText("");
                        jtb_text .setText("");
                        judge=0;
                        
                        break;
                      }
                	}  
                	inTwo.close();
                    inOne.close();
                	if(judge==1) {
                         JOptionPane.showMessageDialog(null,"登陸失敗!檢查賬號密碼是否正確或請註冊後登入",null,JOptionPane.ERROR_MESSAGE, null);
                         jta_text .setText("");
                         jtb_text .setText("");
                      }
                	 if(judge==0){
                	new JMFMediaPlayer("JMF媒體播放器");  //在此處new出新的視窗
                		 dispose(); 
                		 return; 
                	 }
                	}catch(IOException event){
                		JOptionPane.showMessageDialog(null,"系統錯誤"+event,null,JOptionPane.ERROR_MESSAGE, null);
                	}
                }
            }
 
        });
         
        init();
         
        panel = new MyPanel();
        //將所有的元件新增到panel面板中
        panel.add(lab_zhanghao);
        panel.add(lat_password);
        panel.add(jta_text);
        panel.add(jtb_text);
        panel.add(btn_register);
        panel.add(btn_land);
        panel.setLayout(null);
         
        getContentPane().add(panel);
    }
    private void init() {
        lab_zhanghao.setSize(200,100);
        lab_zhanghao. setLocation(50,20);
        lab_zhanghao.setFont(lab);
        lat_password.setSize(200,100);
        lat_password.setLocation(50,80);
        lat_password.setFont(lat);
        jta_text.setSize(190,30);
        jta_text.setLocation(160,55);
        jtb_text.setSize(190,30);
        jtb_text.setLocation(160,115);
        btn_register.setSize(120, 40);
        btn_register.setLocation(60, 180);
        btn_land.setSize(120, 40);
        btn_land.setLocation(230, 180);
        btn_register.setFont(btn);
        btn_land.setFont(btn);
    }
     
    public static void main(String[] args)
    throws ClassNotFoundException,
        InstantiationException, IllegalAccessException,
        UnsupportedLookAndFeelException {
        UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
        new denglu().setVisible(true);
    }
}

package com.xuan.main;
//登入介面背景
import java.awt.*;
import javax.swing.*;

 
//自定義一個面板類
class MyPanel extends JPanel{
    public void paintComponent(Graphics g){
        super.paintComponent(g);
        //繪製一張背景圖片  2.jpg是圖片的路徑  自己設定為自己想要新增的圖片
        Image image = new ImageIcon("background.jpg").getImage();
        g.drawImage(image, 0, 0, this);
    }
}
 

3T超多免費視訊(PHP、Python、Java、專案實戰、大資料、機器學習、人工智慧、爬蟲等)、電子書等學習資源,點選 www.qingning99.cn 即可獲得