图书管理系统添加的新类 11AddUser…
来源:互联网 发布:卷皮网站源码 编辑:程序博客网 时间:2024/05/16 11:09
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.GridBagLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import javax.swing.ImageIcon;
import 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;
import javax.swing.SwingConstants;
public class AddUserFrame extendsInitFrame
{
public AddUserFrame(){
super("图书管理系统—添加用户","Library.png",400,200);
this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
//设置布局管理器
this.setLayout(new BorderLayout());
// 创建面板
centerPanel = new JPanel();
southPanel = new JPanel();
// 将面板添加到窗体
this.add(centerPanel,BorderLayout.CENTER);
this.add(southPanel,BorderLayout.SOUTH);
// 设置面板布局
centerPanel.setLayout(new GridBagLayout());
southPanel.setLayout(new FlowLayout());
// 实例化焦点监听器
addUserFocusListener ufl = new addUserFocusListener();
// 初始化标签
// 添加焦点事件 当失去焦点时 如果不可用给予提示
// 添加焦点事件 当失去焦点时 如果不可用给予提示
// 初始化文本域
// 添加中间面板元素
// 设置下部边框
JButton button_ok = new JButton("确定",newImageIcon("ok.png"));
button_ok.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
{
String getpassW =newString(field_password.getPassword());//获取密码
String getpassW_again =newString(field_password_again.getPassword());//获取确认密码
if(getpassW.equals("")||getpassW_again.equals("")||getUser.equals(""))
{
JLabel label_result = new JLabel("用户名和密码不可为空,请重新输入!!");
JOptionPane.showConfirmDialog(AddUserFrame.this,label_result,"图书管理系统-添加用户",JOptionPane.WARNING_MESSAGE,JOptionPane.OK_OPTION , newImageIcon("result.png"));
}
else if(reiteration==true)//如果重复了 但是用户名域提示但是用户还是没有改 给予提示
{
JLabel label_result = new JLabel("该用户名重复,请重新输入!!");
JOptionPane.showConfirmDialog(AddUserFrame.this,label_result,"图书管理系统-添加用户",JOptionPane.WARNING_MESSAGE,JOptionPane.OK_OPTION , newImageIcon("result.png"));
}
else{
// 如果两次输入的密码相同则将新用户写入 否则提醒用户重新输入
if(getpassW.equals(getpassW_again))
{
File f =new File("E:\\图书管理系统\\password.dat");
try {
FileWriter fr = new FileWriter(f,true);
BufferedWriter br = new BufferedWriter(fr);
br.write(getUser+","+getpassW);
br.flush();
fr.close();
br.close();
field_user.setText("");
field_password.setText("");
field_password_again.setText("");
JLabel label_result = new JLabel("新用户添加成功!!");
JOptionPane.showConfirmDialog(AddUserFrame.this,label_result,"图书管理系统-添加用户",JOptionPane.INFORMATION_MESSAGE,JOptionPane.OK_OPTION, newImageIcon("succes.png"));
if(label_result_f.isVisible()==true)
{
label_result_f.setVisible(false);
}else if(label_result_t.isVisible()==true)
{
label_result_t.setVisible(false);
} catch (IOException e1) {
e1.printStackTrace();
}
}else
{
JLabel label_result = new JLabel("两次输入的密码不一致,请重新输入!!");
JOptionPane.showConfirmDialog(AddUserFrame.this,label_result,"图书管理系统-添加用户",JOptionPane.WARNING_MESSAGE,JOptionPane.OK_OPTION , newImageIcon("result.png"));
}
}
}
});
button_cancel.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
AddUserFrame.this.setVisible(false);//隐藏窗体
AddUserFrame.this.dispose();//释放窗体资源
}
} );
}
//此焦点类的目的是判断当用户输完用户名时 是否与已有用户相同 并给予提示!
private class addUserFocusListener implementsFocusListener
{
// 当用户名区获取焦点 则将给出的提示取消
public void focusGained(FocusEvent fe)
{
if(fe.getSource().equals(field_user))
{
if(label_result_f.isVisible()==true)
{
label_result_f.setVisible(false);
}else if(label_result_t.isVisible()==true)
{
label_result_t.setVisible(false);
// 由于reiteration (重复)是全局变量,如果没有下面那句当第一次输入时重复的用户名时,如果可用再次使用将
// 不再提示可用的标签!!
reiteration=false;
}
}
public void focusLost(FocusEvent fe)
{
if(fe.getSource().equals(field_user))
{
// 读取原始密码
file_pass_org = new File("E:\\图书管理系统\\password.dat");
FileReader fr;
try {
fr = new FileReader(file_pass_org);
BufferedReader br = new BufferedReader(fr);
do{
password_org= br.readLine();
if(password_org!=null){
int index =password_org.indexOf(',');//字符串中第一次出现逗号的索引
String get_user_name=password_org.substring(0,index);//逗号前的内容即用户名
String get_input_user = field_user.getText();//获取新的用户名
if(get_user_name.equals(get_input_user))
{
label_result_f.setVisible(true);
reiteration=true;
}
}
}while(password_org!=null);
fr.close();
br.close();
if(!reiteration)
{
System.out.println("here");
label_result_t.setVisible(true);
}
} catch (FileNotFoundException e1)
{
e1.printStackTrace();
}catch(IOException e2)
{
}
}
}
}
private JPanel centerPanel;
private JPanel southPanel;
private JLabel label_user;
private JLabel label_password ;
private JLabel label_new_password;
private JLabel label_result_t;
private JLabel label_result_f;
private JTextField field_user;
private JPasswordField field_password;
private JPasswordField field_password_again;
private String password_org;
}
0 0
- 图书管理系统添加的新类 11AddUser…
- 图书管理系统添加的新类 10 InitFr…
- 图书管理系统代码 5 Book(图书类…
- 图书管理系统 出现的问题
- 图书管理系统代码 3 LibraryMainF…
- 图书管理系统代码 6 AboutFrame (…
- 图书管理系统代码 8AddBookFrame …
- 图书管理系统代码 9 EditpassW (…
- 图书管理系统代码 4SearchFrame (…
- 图书管理系统 工程文件
- 图书管理系统3 ---图书类别添加
- 图书管理系统代码 2 LibraryMain …
- 图书管理系统代码 1 Libraryload …
- 图书管理系统(mysql部分) 初步设…
- 图书管理系统 运行效果
- 图书管理系统代码 7GBC 网格组布…
- 课程设计——图书管理新系统
- ubuntu 系统adduser 的时候添加sudo 的权限
- 图书管理系统功能
- 图书管理系统 工程文件
- 图书管理系统代码 9 EditpassW (…
- 图书管理系统添加的新类 10 InitFr…
- 图书管理系统代码 1 Libraryload …
- 图书管理系统添加的新类 11AddUser…
- AddBook 类的简单修改(增加注释文…
- 信号“未决”与“阻塞”
- Java作业小结——ATM
- JAVA简易贪吃蛇的实现
- Java 计算计算两个日期之间的间隔…
- Java 计算计算两个日期之间的间隔…
- 用 Calenar 获取日期
- 用 Calenar 获取日期