java开发图书管理系统,用文件存储数据.doc

上传人:laozhun 文档编号:2392090 上传时间:2023-02-17 格式:DOC 页数:36 大小:263KB
返回 下载 相关 举报
java开发图书管理系统,用文件存储数据.doc_第1页
第1页 / 共36页
java开发图书管理系统,用文件存储数据.doc_第2页
第2页 / 共36页
java开发图书管理系统,用文件存储数据.doc_第3页
第3页 / 共36页
java开发图书管理系统,用文件存储数据.doc_第4页
第4页 / 共36页
java开发图书管理系统,用文件存储数据.doc_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《java开发图书管理系统,用文件存储数据.doc》由会员分享,可在线阅读,更多相关《java开发图书管理系统,用文件存储数据.doc(36页珍藏版)》请在三一办公上搜索。

1、一:注册界面及代码:/* * BigHomeworkcs2011z.libraryRegisteFrame.javaRegisteFrame苏州科技学院,计算机Z1111,徐磊2013-11-13下午6:39:12 */package cs2011z.library;/* * author Administrator * */import java.awt.Dimension;import java.awt.GridLayout;import java.awt.Toolkit;import java.awt.event.ActionEvent;import java.awt.event.Act

2、ionListener;import java.util.Vector;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.border.BevelBorder;import javax.swing.border.

3、CompoundBorder;/* * author Administrator * RegisteFrame */public class RegisteFrame extends JFrame/* * 注册界面 */private static final long serialVersionUID = 1L;/控件显示文件信息final String USERNAME=用 户 名:;final String PASSWORD=密 码:;final String PASSWORDOK=确认密码:;final String COMMIT=提交;final String CANCEL=取消;f

4、inal String NULL=;/网格布局行、列final int ROW=4;/行final int COL=2;/列/窗体控件定义private JLabel lblUserName;/此标签用于显示用户名private JLabel lblPassword;/此标签用于显示密码private JLabel lblPasswordOK;/此标签用于显示确认密码private JTextField txtUserName;/此文本框用于用户输入注册的用户名private JPasswordField txtPassword;/此密码框用于用户输入注册密码 private JPasswor

5、dField txtPasswordOK;/此密码框用于用户输入确认密码private JButton btnCommit;/按钮用于提交注册信息private JButton btnCancel;/按钮用于取消/用户列表public Vector stVector=new Vector();/窗体高宽设定final int WIDTH=600;final int HEIGHT=400;/RegisteFrame初始化SuppressWarnings(unchecked)public RegisteFrame(Object obj,String title)super(title);/设置窗体

6、标题stVector =(Vector)obj;/userVecsetSize(WIDTH,HEIGHT);/窗体显示大小设置setVisible(true);setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);/窗体关闭Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); Dimension frameSize = this.getSize(); this.setLocation( (screenSize.width - frameSize.width) / 2,

7、 (screenSize.height - frameSize.height) / 2);init();/初始化/窗体初始化:增加控件public void init()/网格布局:32getContentPane().setLayout(new GridLayout(ROW,COL);/创建相应的控件lblUserName=new JLabel(USERNAME);txtUserName=new JTextField();lblPassword=new JLabel(PASSWORD);txtPassword=new JPasswordField();lblPasswordOK=new JL

8、abel(PASSWORDOK);txtPasswordOK=new JPasswordField();btnCommit =new JButton(COMMIT);btnCancel =new JButton(CANCEL);/设置控件属性lblUserName.setHorizontalAlignment(0);/用户名居中显示lblUserName.setBorder(new CompoundBorder(null, new BevelBorder(BevelBorder.RAISED);/显示用户名:标签边框设置txtUserName.setBorder(new BevelBorder

9、(BevelBorder.LOWERED);/用户名文本本框边框lblPassword.setHorizontalAlignment(0);/密码文字居中显示lblPassword.setBorder(new CompoundBorder(null, new BevelBorder(BevelBorder.RAISED);/显示口令:标签边框设置txtPassword.setBorder(new BevelBorder(BevelBorder.LOWERED);/密码框边框lblPasswordOK.setHorizontalAlignment(0);/确认密码居中显示lblPasswordO

10、K.setBorder(new CompoundBorder(null, new BevelBorder(BevelBorder.RAISED);/显示确认密码:标签边框设置txtPasswordOK.setBorder(new BevelBorder(BevelBorder.LOWERED);/确认密码框边框/增加监听器/确定按钮btnCommit.addActionListener( new ActionListener() public void actionPerformed(ActionEvent e)String username=txtUserName.getText().tri

11、m();/获取用户输入用户名String password=new String(txtPassword.getPassword().trim();/获取户输入的密码String passwordOK=new String(txtPasswordOK.getPassword().trim();boolean flag=true;char userName=username.toCharArray();for(char ch:userName)if(ch=A&ch=a&ch=0&ch=9)flag=true;elseflag=false;if(flag)if(pareTo(passwordOK)

12、!=0)/注册失败 JOptionPane.showMessageDialog( null, 两次密码不一致!, 注册失败, JOptionPane.INFORMATION_MESSAGE );elseUser userRegiste=new User(username,password);/创建一个用户对象stVector.add(userRegiste);/obj.add();/注册成功 JOptionPane.showMessageDialog( null, 用户名:+username+rn+密码:+password, 注册成功, JOptionPane.INFORMATION_MESS

13、AGE ); dispose(); LogonFrame logon =new LogonFrame(stVector,用户登录); logon.setVisible(true);else/注册失败 JOptionPane.showMessageDialog( null, 用户名不符合要求,请输入只有rn英文字母和数字组成的字符串。, 注册失败, JOptionPane.INFORMATION_MESSAGE ););/取消按钮btnCancel.addActionListener(new ActionListener() public void actionPerformed(ActionE

14、vent e) dispose(););/增加相应控件getContentPane().add(lblUserName);getContentPane().add(txtUserName);getContentPane().add(lblPassword);getContentPane().add(txtPassword);getContentPane().add(lblPasswordOK);getContentPane().add(txtPasswordOK);JPanel jp1 = new JPanel();JPanel jp2 = new JPanel();jp1.add(btnCo

15、mmit);jp2.add(btnCancel);getContentPane().add(jp1);getContentPane().add(jp2);public static void main(String args)RegisteFrame frame =new RegisteFrame(new Vector(),用户注册);frame.setVisible(true);二:登录界面及代码。/* * BigHomeworkcs2011z.libraryLogonFrame.javaLogonFrame苏州科技学院,计算机Z1111,徐磊2013-11-15下午6:40:25 */pa

16、ckage cs2011z.library;/* * author Administrator * */import java.awt.Dimension;import java.awt.GridLayout;import java.awt.Toolkit;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.util.Vector;import javax.swing.JButton;import javax.swing.JCheckBox;import javax.swing.J

17、Frame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JPasswordField;import javax.swing.JTextField;import javax.swing.border.BevelBorder;import javax.swing.border.CompoundBorder;/* * author Administrator * LogonFrame */public class LogonFrame ext

18、ends JFrame/* * 登录控件 */private static final long serialVersionUID = 1L;/控件显示文件信息final String USERNAME=用户名:;final String PASSWORD=密 码:;final String OK=确定;final String CANCEL=取消;final String NULL=;/网格布局行、列final int ROW=4;/行final int COL=2;/列/窗体控件定义private JLabel lblUserName;/此标签用于显示用户名private JLabel l

19、blPassword;/此标签用于显示密码private JTextField txtUserName;/此文本框用于用户输入登录用户名private JPasswordField txtPassword;/此密码框用于用户输入登录密码private JButton btnOK;/按钮用于登录private JButton btnCancel;/按钮用于取消private JCheckBox chkMpwd;/记住密码private JCheckBox chkAotuLogon;/自动登录/用户列表public Vector stVector;/窗体高宽设定final int WIDTH=60

20、0;final int HEIGHT=400;/LogonFrame初始化SuppressWarnings(unchecked)public LogonFrame(Object obj,String title)super(title);/设置窗体标题stVector =(Vector)obj;setSize(WIDTH,HEIGHT);/窗体显示大小设置setVisible(true);setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);/窗体关闭Dimension screenSize = Toolkit.getDefaultToolkit(

21、).getScreenSize(); Dimension frameSize = this.getSize(); this.setLocation( (screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2);init();/初始化/窗体初始化:增加控件public void init()/网格布局:32getContentPane().setLayout(new GridLayout(ROW,COL);/创建相应的控件lblUserName=new JLabel(USERNAME)

22、;txtUserName=new JTextField();lblPassword=new JLabel(PASSWORD);txtPassword=new JPasswordField();btnOK =new JButton(OK);btnCancel =new JButton(CANCEL);chkMpwd =new JCheckBox(记住密码);chkAotuLogon=new JCheckBox(自动登录);/设置控件属性lblUserName.setHorizontalAlignment(0);/用户名居中显示lblUserName.setBorder(new CompoundB

23、order(null, new BevelBorder(BevelBorder.RAISED);/显示用户名:标签边框设置txtUserName.setBorder(new BevelBorder(BevelBorder.LOWERED);/用户名文本本框边框lblPassword.setHorizontalAlignment(0);/密码居中显示lblPassword.setBorder(new CompoundBorder(null, new BevelBorder(BevelBorder.RAISED);/显示密码:标签边框设置txtPassword.setBorder(new Beve

24、lBorder(BevelBorder.LOWERED);/密码框边框chkMpwd.setHorizontalAlignment(0);chkAotuLogon.setHorizontalAlignment(0);/增加监听器/确定按钮btnOK.addActionListener( new ActionListener() public void actionPerformed(ActionEvent e)String username=txtUserName.getText().trim();/获取用户输入用户名String password=new String(txtPassword

25、.getPassword().trim();/获取户输入的密码User userLogon=new User(username,password);/创建一个用户对象boolean flag=false;/存在标记/用循环查询用户名和密码是否存在for(User user:stVector)/if(user.equals(userLogon)if(user.getUserName().trim().compareTo(userLogon.getUserName().trim()=0&user.getPassword().trim().compareTo(userLogon.getPasswor

26、d().trim()=0)flag=true; if(flag) /登录成功 JOptionPane.showMessageDialog( null, 用户名:+userLogon.getUserName()+rn用户登录成功!, 登录成功, JOptionPane.INFORMATION_MESSAGE ); dispose(); AllLayoutDemo demo =new AllLayoutDemo(); demo.setLayout(); demo.setVisible(true); else /登录失败 JOptionPane.showMessageDialog( null, 用户

27、名或口令错!请重新输入!,/提示信息 登录失败,/提示信息 JOptionPane.INFORMATION_MESSAGE ); txtUserName.setText(NULL);/用户名文本框设置为空 txtPassword.setText(NULL);/口令密码框设置为空 txtUserName.setFocusable(true);/使其获得焦点 );/取消按钮btnCancel.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) dispose(););/增加相应控件get

28、ContentPane().add(lblUserName);getContentPane().add(txtUserName);getContentPane().add(lblPassword);getContentPane().add(txtPassword);getContentPane().add(chkMpwd);getContentPane().add(chkAotuLogon);JPanel jp1 = new JPanel();JPanel jp2 = new JPanel();jp1.add(btnOK);jp2.add(btnCancel);getContentPane()

29、.add(jp1);getContentPane().add(jp2);public static void main(String args)Vector stVector=new Vector ();stVector.add(0,new User(admin,123456);stVector.add(0,new User(xl,123456);stVector.add(1,new User(Tom,123456);stVector.add(2,new User(Jack,123456);stVector.add(3,new User(David,123456);LogonFrame fra

30、me = new LogonFrame(stVector,用户登录);frame.setVisible(true);三:登录主界面及代码。/* * cs2011z.library苏州科技学院,计算机Z1111.徐磊2013年11月5日AllLayoutDemo.java */package cs2011z.library;/* * author Administrator * */import javax.swing.*;import javax.swing.event.*;import java.awt.*;import java.awt.event.*;import java.util.*

31、;public class AllLayoutDemo extends JFrame implements ActionListener/创建控件private JTextArea taCollect;private JLabel text = new JLabel(图书详细信息);private JLabel text1 = new JLabel(排序后结果输出);private JMenuBar jmb = new JMenuBar();private JMenu helpmenu = new JMenu(帮助);private JMenu listmenu = new JMenu(排序)

32、;private JMenu datamenu = new JMenu(数据操作);/private JButton btnSearch = new JButton(查找数据);private JButton btnInsert = new JButton(插入数据);private JButton btnDelete = new JButton(删除数据);/private Container container = getContentPane();private BookData list = new BookData1000;private DataOperate op = new D

33、ataOperate();private String lib = new String1000;private int date = new int 10004;private JMenuItem exitItem = new JMenuItem(退出, T);private JMenuItem helpItem = new JMenuItem(帮助, H);private JMenuItem numlistItem = new JMenuItem(按图书号排序, N);private JMenuItem InsertItem = new JMenuItem(插入数据,I);private

34、JMenuItem SearchItem = new JMenuItem(查找数据,S);private JMenuItem DeleteItem = new JMenuItem(删除数据,D);private JMenuItem ChangeItem = new JMenuItem(修改数据,C);JList Book;/无参构造函数,实现对图形界面的初始化public AllLayoutDemo()super(图书管理信息系统);this.setSize(600,750);this.setResizable(false);this.setDefaultCloseOperation(JFra

35、me.EXIT_ON_CLOSE);/主方法/public static void main(String args)/AllLayoutDemo frame = new AllLayoutDemo();/frame.setLayout();/frame.show();/布局设计public void setLayout()DataOperate op = new DataOperate();op.readDatabase();String string;String lib = new String1000;JList Book = new JList(lib);container.setL

36、ayout(null);container.add(text);text.setBounds(220,10,200,25);for(int i = 1;i = op.getBookCount();i+)listi = op.r(i);string = 图书号: + listi.number + 图书名: + listi.name + 作者:+listi.author+ 图书价格:+listi.price+ 到馆时间: + listi.ltime + 借出时间: + listi.otime;libi = string; / JScrollPane myScrollPane=new JScroll

37、Pane();myScrollPane.setBounds(10,40,570,360); container.add(Book);myScrollPane.getViewport().add(Book,null);this.getContentPane().add(myScrollPane);Book.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);this.setJMenuBar(jmb);jmb.add(datamenu);jmb.add(listmenu);jmb.add(helpmenu);datamenu.add(Inse

38、rtItem);datamenu.add(DeleteItem);datamenu.add(SearchItem);datamenu.add(ChangeItem);ChangeItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C, InputEvent.CTRL_MASK);InsertItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_I, InputEvent.CTRL_MASK);DeleteItem.setAccelerator(KeyStroke.getKeyStr

39、oke(KeyEvent.VK_D, InputEvent.CTRL_MASK);SearchItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, InputEvent.CTRL_MASK);/创建事件监听器InsertItem.addActionListener(this);DeleteItem.addActionListener(this);SearchItem.addActionListener(this);ChangeItem.addActionListener(this);listmenu.add(numlistItem);numlistItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N, InputEvent.CTRL_MASK);numlistItem.addActionListener(this);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号