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