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);
    }
}
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM