1、个人图书管理系统 java代码public class Book private String name;/书名private String fenlei;/分类private String buyTime;/购买时间private double value;/价格private String jianjie;/简介 public Book() name=; fenlei=; buyTime=; value=0; jianjie=; public Book(String n,String f,String b,double v ,String j) name=n; fenlei=f; buyT
2、ime=b; value=v; jianjie=j; public void setName(String n) name=n; public void setFenlei(String f) fenlei=f; public void setBuyTime(String b) buyTime=b; public void setValue(double v) value=v; public void setJianjie(String j) jianjie=j; public String getName() return name; public String getFenlei() re
3、turn fenlei; public String getBuyTime() return buyTime; public double getValue() return value; public String getJianjie() return jianjie; /* * (#)MyBookSystem.java * author * version 1.00 2010/3/6 */import java.awt.*;import javax.swing.*;import java.awt.event.*;import javax.swing.event.TreeSelection
4、Event;import javax.swing.event.TreeSelectionListener;import java.util.*;import java.awt.Color;import javax.swing.tree.DefaultMutableTreeNode;import javax.swing.tree.DefaultTreeModel;import javax.swing.tree.TreeNode;import java.io.*;public class MyBookSystem implements ActionListener,TreeSelectionLis
5、tener JFrame frame;JPanel panel1;JPanel panel2;JMenuBar menubar;/菜单栏JMenu file;JMenu sort;/排序JMenu caozuo;/操作JMenuItem cancel;JMenuItem sort1;/按价格排序JMenuItem sort2;/按字母排序JMenuItem addJMenuItem;JMenuItem deleteJMenuItem;JMenuItem findJMenuItem; JTree jTree=null; JTextArea textArea; JScrollPane scroll
6、Pane ; JButton add; JButton delete; JButton find; DefaultTreeModel treeModel = null; private File fileBook; private ArrayList arrayList; String str=经典,言情,历史,科技,人文,健康,生活,教材; DefaultMutableTreeNode root = new DefaultMutableTreeNode(我的书籍); /* * Creates a new instance of MyBookSystem. */ public MyBookSy
7、stem() frame=new JFrame(我的书管理系统); frame.setSize(500,400); frame.setLayout(new BorderLayout(); /设置panel1 panel1=new JPanel(); panel1.setBackground(Color.gray); jTree=new JTree(getTree(); treeModel = (DefaultTreeModel) jTree.getModel();/ jTree.addTreeSelectionListener(this); panel1.add(jTree); /设置pane
8、l2 panel2=new JPanel(); panel2.setLayout(null); textArea=new JTextArea(); scrollPane=new JScrollPane(textArea); add=new JButton(增加); delete=new JButton(删除); find=new JButton(查找); add.addActionListener(this); delete.addActionListener(this); find.addActionListener(this); /textArea.setBounds(0,0,450,26
9、0); scrollPane.setBounds(0,0,450,260); add.setBounds(15,280,100,40); delete.setBounds(145,280,100,40); find.setBounds(270,280,100,40); /panel2.add(textArea); panel2.add(scrollPane); panel2.add(add); panel2.add(delete); panel2.add(find); /设置菜单栏 menubar=new JMenuBar(); file=new JMenu(文件); sort=new JMe
10、nu(排序); caozuo=new JMenu(操作); addJMenuItem=new JMenuItem(增加); deleteJMenuItem=new JMenuItem(删除); findJMenuItem=new JMenuItem(查找); cancel=new JMenuItem(退出); sort1=new JMenuItem(按价格); sort2=new JMenuItem(按名字); menubar.add(file); menubar.add(sort); menubar.add(caozuo); file.add(cancel); caozuo.add(addJ
11、MenuItem); caozuo.add(deleteJMenuItem); caozuo.add(findJMenuItem); sort.add(sort1); sort.add(sort2); addJMenuItem.addActionListener(this); deleteJMenuItem.addActionListener(this); findJMenuItem.addActionListener(this); cancel.addActionListener(this); sort1.addActionListener(this); sort2.addActionLis
12、tener(this); frame.addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent we) System.exit(0); ); frame.add(North,menubar); frame.add(West,panel1); frame.add(Center,panel2); frame.setVisible(true); fileBook=new File(图书.dat); arrayList=new ArrayList(); readFile(); private DefaultM
13、utableTreeNode getTree() for(int i=0;istr.length;i+) root.add(new DefaultMutableTreeNode(stri); return root; private void readFile() try ObjectInputStream ois=new ObjectInputStream(new FileInputStream(fileBook); arrayList=(ArrayList)ois.readObject(); ois.close(); catch(Exception e) private void writ
14、eFile(Book book)/写文件 try ObjectOutputStream oos=new ObjectOutputStream(new FileOutputStream(图书.dat); arrayList.add(book); oos.writeObject(arrayList); oos.close(); catch(Exception e) /实现ActionListener方法 public void actionPerformed(ActionEvent ae) int len=arrayList.size(); if(ae.getSource()=add | ae.g
15、etSource()=addJMenuItem) AddDialog add=new AddDialog(this.frame ,true); add.show(); else if(ae.getSource()=find| ae.getSource()=findJMenuItem) if(len=0) JOptionPane.showMessageDialog(frame,我的书籍里没书!); return; find(); else if(ae.getSource()=delete| ae.getSource()=deleteJMenuItem) if(len=0) JOptionPane
16、.showMessageDialog(frame,我的书籍里没书!); return; delete(); else if(ae.getSource()=sort1) sortValue(); else if(ae.getSource()=sort2) else if(ae.getSource()=cancel) System.exit(0); /实现TreeSelectionListener方法 public void valueChanged(TreeSelectionEvent e) DefaultMutableTreeNode defaultNode = (DefaultMutable
17、TreeNode) jTree. getLastSelectedPathComponent(); if(defaultNode!=null) String name=defaultNode.getUserObject().toString(); int len=arrayList.size(); int i=0; while(ilen) Book temp=(Book)arrayList.get(i); if(temp.getName().equals(name) textArea.setText(n 书名:+temp.getName()+n 类别: +temp.getFenlei()+n 购
18、买时间:+temp.getBuyTime() +n 单价:+temp.getValue()+n 简介: +temp.getJianjie(); return; i+; /删除书 public void delete() String name= ; try name=JOptionPane.showInputDialog(frame,请输入书名:,不能为空); catch(Exception e)System.out.println(hejhtrjy6r); if(name.equalsIgnoreCase()return; int len=arrayList.size(); int i=0;
19、 Book temp=new Book(); while(ilen) temp=(Book)arrayList.get(i); if(name.equalsIgnoreCase(temp.getName() arrayList.remove(i); break; i+; if(i=len) JOptionPane.showMessageDialog(frame,不存在该书!); return; else deleteJTreeNode(temp.getName(),temp.getFenlei(); textArea.setText(该书:n+ 书名:+temp.getName()+n 类别:
20、+temp.getFenlei()+n 购买时间: +temp.getBuyTime()+n 单价:+temp.getValue()+n 简介:+temp.getJianjie()+删除成功!); private void deleteJTreeNode(String name,String fenlei) DefaultMutableTreeNode parent=root.getNextNode(); while(parent!=null&!parent.getUserObject().equals(fenlei) ) parent=parent.getNextSibling();/获得兄
21、弟节点 DefaultMutableTreeNode child=parent.getFirstLeaf(); while(child!=null&!child.getUserObject().equals(name) ) child=child.getNextSibling();/获得兄弟节点 treeModel.removeNodeFromParent(child); /找书 public void find() String name= ; try name=JOptionPane.showInputDialog(frame,请输入书名:,不能为空); catch(Exception e
22、)System.out.println(g43h35h54h4j+name);return; if(name.equalsIgnoreCase()return; int len=arrayList.size(); int i=0; Book temp=new Book(); while(ilen) temp=(Book)arrayList.get(i); if(name.equalsIgnoreCase(temp.getName() break; i+; if(i=len) textArea.setText(nn 没有该书!); return; else textArea.setText(您要找的书:n+ 书名:+temp.getName()+n 类别:+temp.getFenlei()+n 购买时间: +temp.getBuyTime()+n 单价:+temp.getValue()+n 简介:+temp.getJianjie(); /排序 publi
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2