📄 mainframe.java~267~
字号:
JOptionPane.showMessageDialog(this, "ex.toString() :" + ex.toString());
}
db.close();
}
/**
* 调用外部程序
* @param e ActionEvent
*/
public void jMenuItemHow_actionPerformed(ActionEvent e) {
try{
process=Runtime.getRuntime().exec("hh.exe library.chm");
flag=true;
}catch(Exception ce){
ce.printStackTrace();
}
}
public void jButtonBCCancel_actionPerformed(ActionEvent e) {
cardLayout1.show(jPanelBottom,"jPaneBackgroud");// 重新设置面板为jPaneBackgroud
}
/**
* 生成注销借书卡的对话框
* @param e ActionEvent
*/
public void jMenuItemLBC_actionPerformed(ActionEvent e) {
DeleteReader dr=new DeleteReader(this,"删除读者",true);
dr.setBounds(300,200,400,300);
dr.setVisible(true);
}
public void jMenuItemBiYeSheng_actionPerformed(ActionEvent e) {
DaoChu dc=new DaoChu(this,"数据导出",true);
dc.setBounds(200,200,400,300);
dc.setVisible(true);
}
public void jMenuItemAddBook_actionPerformed(ActionEvent e) {
InsertBook ib=new InsertBook(this,"插入图书",true);
ib.setSize(440,340);
ib.setLocation(300,160);
ib.setVisible(true);
}
public void jMenuItemDeleteBook_actionPerformed(ActionEvent e) {
DeleteBook db=new DeleteBook(this,"删除图书",true);
db.setSize(400,200);
db.setLocation(300,200);
db.setVisible(true);
}
public void jMenuItemStockInfo_actionPerformed(ActionEvent e) {
QueryBook qb=new QueryBook(this,"查询图书",true);
qb.setLocation(230,200);
qb.setSize(600,300);
qb.setVisible(true);
}
public void jMenuItemPay_actionPerformed(ActionEvent e) {
Pay pay=new Pay(this,"付款",true);
pay.setBounds(300,200,320,230);
pay.setVisible(true);
}
public void jMenuItemBCheck_actionPerformed(ActionEvent e) {
Borrow borrow=new Borrow(this,"借书",true);
//borrow.jButtonBorrow.setEnabled(true);
borrow.jButtonBack.setEnabled(false);
borrow.jButtonBorrowAlert.setEnabled(true);
borrow.setBounds(200,100,410,490);
borrow.setVisible(true);
}
public void jMenuItemRCheck_actionPerformed(ActionEvent e) {
Borrow borrow=new Borrow(this,"还书",true);
borrow.jButtonBorrow.setEnabled(false);
borrow.jButtonBorrowAlert.setEnabled(false);
borrow.jButtonBack.setEnabled(true);
borrow.setBounds(200,100,410,490);
borrow.setVisible(true);
}
public void jMenuItemInsertBooks_actionPerformed(ActionEvent e) {
AddBooks ar=new AddBooks();
}
public void jMenuItemRenew_actionPerformed(ActionEvent e) {
RenewBookCard rbc=new RenewBookCard(this,"取消挂失",true);
rbc.setBounds(300,200,330,100);
rbc.setVisible(true);
}
/**
*
* <p>Title: 图书管理系统</p>
*
* <p>Description: Enter类是一个内部类,继承JDialog类,是一个登录窗口,主要是提供给管理员登录用的</p>
*
* <p>Copyright: Copyright (c) 2006</p>
*
* <p>Company: 浙江工业大学信息学院计算机系</p>
*
* @author 曾文秋
* @version 1.0
*/
class Enter extends JDialog {
JLabel jLabel1 = new JLabel();
JComboBox jComboBoxUserType = new JComboBox();//用户类型
JLabel jLabel2 = new JLabel();
JTextField jTextFieldName = new JTextField();//用户名
JLabel jLabel3 = new JLabel();
JPasswordField jTextFieldPassword = new JPasswordField();//用户密码
JButton jButtonEnter = new JButton();//登录按钮
JButton jButtonCancle=new JButton();
/**
* 构造函数
*/
public Enter() {
try {
jbInit();
}
catch (Exception ex) {
ex.printStackTrace();
}
}
/**
* 初始化dialog
*
* @throws Exception 抛出异常
*/
private void jbInit() throws Exception {
this.getContentPane().setLayout(null);
this.setResizable(false);// 设置窗口大小为不可变
this.setTitle("用户登录");
jLabel1.setText("用户类型:");
jLabel1.setBounds(new Rectangle(74, 20, 64, 24));
jTextFieldPassword.setBounds(new Rectangle(154, 108, 84, 20));//设置组建的位置和大小
jLabel3.setText("密码:");
jLabel3.setBounds(new Rectangle(74, 107, 64, 24));
jTextFieldName.setBounds(new Rectangle(154, 66, 85, 20));
jTextFieldName.setColumns(20);
jLabel2.setText("用户名:");
jLabel2.setBounds(new Rectangle(73, 66, 64, 24));
jButtonEnter.setBounds(new Rectangle(73, 150, 81, 23));
jButtonEnter.setText("登录");
jButtonCancle.setText("取消");
jButtonCancle.setBounds(new Rectangle(165, 150, 81, 23));
jButtonCancle.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
Enter.this.dispose();
}
});
//把组建加入到面板中
this.getContentPane().add(jTextFieldPassword);
this.getContentPane().add(jTextFieldName);
this.getContentPane().add(jLabel2);
this.getContentPane().add(jLabel1);
this.getContentPane().add(jLabel3);
this.getContentPane().add(jComboBoxUserType);
this.getContentPane().add(jButtonEnter);
this.getContentPane().add(jButtonCancle);
jComboBoxUserType.setBounds(new Rectangle(154, 20, 96, 23));
jComboBoxUserType.addItem("超级管理员");
jComboBoxUserType.addItem("管理员");
jTextFieldName.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
jButtonEnter_actionPerformed(e);
}
});
jTextFieldPassword.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
jButtonEnter_actionPerformed(e);
}
});
jButtonEnter.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
jButtonEnter_actionPerformed(e);
}
});
//把组件加入到面板
this.getContentPane().add(jLabel1);
this.getContentPane().add(jTextFieldName);
this.getContentPane().add(jLabel2);
this.getContentPane().add(jTextFieldPassword);
this.getContentPane().add(jButtonEnter);
}
/**
* 正则表达式,防止用户名和密码有非法字符出现
* @param str String
* @return boolean
*/
public boolean isConform(String str){
Pattern pattern = Pattern.compile("[^']*");
Matcher isNum = pattern.matcher(str);
if( !isNum.matches() ){
return false;
}
return true;
}
/**
* 内部类里的事件处理函数,处理按下按钮“登录”后要所要发生的事件
*
* @param e ActionEvent 传入一个事件参数
*/
public void jButtonEnter_actionPerformed(ActionEvent e) {
UserName=jTextFieldName.getText();//获得用户输入的用户名
UserName=UserName.trim();//去掉前后的空格
Password=new String(jTextFieldPassword.getPassword());//获得用户输入的密码
Password=Password.trim();
type=(String)jComboBoxUserType.getSelectedItem();//获得管理员类型
type=type.trim();
if(UserName.equals("")){
JOptionPane.showMessageDialog(Enter.this, "用户名不许为空!");
return;
}
if(Password.equals("")){
JOptionPane.showMessageDialog(Enter.this, "密码不许为空!");
return;
}
if(!isConform(UserName)){
JOptionPane.showMessageDialog(Enter.this, "用户名中输入的禁止的字符 ' ,请重新输入符合规定的标字符!");
return;
}
if(!isConform(Password)){
JOptionPane.showMessageDialog(Enter.this, "密码中输入的禁止的字符 ' ,请重新输入符合规定的标字符!");
return;
}
//要执行的SQL语句,主要是用来选择满足要求的
strSql = "select * from administrator where id='" +
UserName + "' and password='" +
Password + "' and power='"+
type+"'";
rs = db.getResult(strSql);//获得满足要求的记录集
boolean isexist = false;
try {
isexist = rs.first();//如果记录集中有记录,则返回TRUE,否则是FALSE
}catch (SQLException ex1) {
}
if (isexist&&type.equals("超级管理员")){
//正常登录后,重新设置下列组件可用
jMenuItemEnter.setText("注销");//设置菜单为“注销”
jMenuItemIndividual.setEnabled(true);
jMenuItemBCInfo.setEnabled(true);
jMenuItemTBC.setEnabled(true);
jMenuItemLBC.setEnabled(true);
jMenuItemBCheck.setEnabled(true);
jMenuItemRCheck.setEnabled(true);
jMenuItemAddBook.setEnabled(true);
jMenuItemDeleteBook.setEnabled(true);
jMenuItemAddAdm.setEnabled(true);
jMenuItemDeleteAdm.setEnabled(true);
jMenuUserManage.setEnabled(true);
jMenuItemAddAdm.setEnabled(true);
jMenuItemDeleteAdm.setEnabled(true);
jButtonFDDelete.setEnabled(false);
jMenuItemBiYeSheng.setEnabled(true);
jMenuItemPay.setEnabled(true);
jMenuItemInsertBooks.setEnabled(true);
jMenuItemRenew.setEnabled(true);
this.dispose();//销毁登录窗口
}
else if(isexist&&type.equals("管理员")){
jMenuItemEnter.setText("注销");//设置菜单为“注销”
//正常登录后,重新设置下列组件可用
jMenuItemIndividual.setEnabled(true);
jMenuItemBCInfo.setEnabled(true);
jMenuItemTBC.setEnabled(true);
jMenuItemLBC.setEnabled(true);
jMenuItemBCheck.setEnabled(true);
jMenuItemRCheck.setEnabled(true);
jMenuItemAddBook.setEnabled(true);
jMenuItemDeleteBook.setEnabled(true);
jMenuItemDeleteAdm.setEnabled(true);
jMenuUserManage.setEnabled(true);
jMenuItemBiYeSheng.setEnabled(true);
jMenuItemPay.setEnabled(true);
jMenuItemInsertBooks.setEnabled(true);
jMenuItemRenew.setEnabled(true);
this.dispose();//销毁登录窗口
}
else{
JOptionPane.showMessageDialog(Enter.this, "用户名不存在,或原密码不正确,或用户类型不正确!");
}
db.close();//关闭数据库连接
}
}
class Win extends WindowAdapter{
public void windowClosing(WindowEvent e) {
if(flag){
try{
process.exitValue();
}catch(Exception ce){
process.destroy();
}
}
System.exit(0);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -