个人图书管理系统Word文件下载.docx
- 文档编号:6954533
- 上传时间:2023-05-07
- 格式:DOCX
- 页数:13
- 大小:24.49KB
个人图书管理系统Word文件下载.docx
《个人图书管理系统Word文件下载.docx》由会员分享,可在线阅读,更多相关《个人图书管理系统Word文件下载.docx(13页珍藏版)》请在冰点文库上搜索。
publicvoidsetValue(doublev){
publicvoidsetJianjie(Stringj){
publicStringgetName(){
returnname;
publicStringgetFenlei(){
returnfenlei;
publicStringgetBuyTime(){
returnbuyTime;
publicdoublegetValue(){
returnvalue;
publicStringgetJianjie(){
returnjianjie;
}
}
/**
*@(#)MyBookSystem.java
*@author
*@version1.002010/3/6
*/
importjava.awt.*;
importjavax.swing.*;
importjava.awt.event.*;
importjavax.swing.event.TreeSelectionEvent;
importjavax.swing.event.TreeSelectionListener;
importjava.util.*;
importjava.awt.Color;
importjavax.swing.tree.DefaultMutableTreeNode;
importjavax.swing.tree.DefaultTreeModel;
importjavax.swing.tree.TreeNode;
importjava.io.*;
publicclassMyBookSystemimplementsActionListener,TreeSelectionListener{
JFrameframe;
JPanelpanel1;
JPanelpanel2;
JMenuBarmenubar;
//菜单栏
JMenufile;
JMenusort;
//排序
JMenucaozuo;
//操作
JMenuItemcancel;
JMenuItemsort1;
//按价格排序
JMenuItemsort2;
//按字母排序
JMenuItemaddJMenuItem;
JMenuItemdeleteJMenuItem;
JMenuItemfindJMenuItem;
JTreejTree=null;
JTextAreatextArea;
JScrollPanescrollPane;
JButtonadd;
JButtondelete;
JButtonfind;
DefaultTreeModeltreeModel=null;
privateFilefileBook;
privateArrayListarrayList;
String[]str={"
经典"
"
言情"
历史"
科技"
人文"
健康"
生活"
教材"
};
DefaultMutableTreeNoderoot=newDefaultMutableTreeNode("
我的书籍"
);
/**
*Createsanewinstanceof<
code>
MyBookSystem<
/code>
.
*/
publicMyBookSystem(){
frame=newJFrame("
我的书管理系统"
frame.setSize(500,400);
frame.setLayout(newBorderLayout());
//设置panel1
panel1=newJPanel();
panel1.setBackground(Color.gray);
jTree=newJTree(getTree());
treeModel=(DefaultTreeModel)jTree.getModel();
//
jTree.addTreeSelectionListener(this);
panel1.add(jTree);
//设置panel2
panel2=newJPanel();
panel2.setLayout(null);
textArea=newJTextArea();
scrollPane=newJScrollPane(textArea);
add=newJButton("
增加"
delete=newJButton("
删除"
find=newJButton("
查找"
add.addActionListener(this);
delete.addActionListener(this);
find.addActionListener(this);
// textArea.setBounds(0,0,450,260);
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=newJMenuBar();
file=newJMenu("
文件"
sort=newJMenu("
排序"
caozuo=newJMenu("
操作"
addJMenuItem=newJMenuItem("
deleteJMenuItem=newJMenuItem("
findJMenuItem=newJMenuItem("
cancel=newJMenuItem("
退出"
sort1=newJMenuItem("
按价格"
sort2=newJMenuItem("
按名字"
menubar.add(file);
menubar.add(sort);
menubar.add(caozuo);
file.add(cancel);
caozuo.add(addJMenuItem);
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.addActionListener(this);
frame.addWindowListener(newWindowAdapter(){
publicvoidwindowClosing(WindowEventwe){
System.exit(0);
}
});
frame.add("
North"
menubar);
West"
panel1);
Center"
panel2);
frame.setVisible(true);
fileBook=newFile("
图书.dat"
arrayList=newArrayList();
readFile();
}
privateDefaultMutableTreeNodegetTree(){
for(inti=0;
i<
str.length;
i++)
root.add(newDefaultMutableTreeNode(str[i]));
returnroot;
privatevoidreadFile(){
try{
ObjectInputStreamois=newObjectInputStream(newFileInputStream(fileBook));
arrayList=(ArrayList)ois.readObject();
ois.close();
}catch(Exceptione){}
}
privatevoidwriteFile(Bookbook){//写文件
try{
ObjectOutputStreamoos=newObjectOutputStream(newFileOutputStream("
));
arrayList.add(book);
oos.writeObject(arrayList);
oos.close();
//实现ActionListener方法
publicvoidactionPerformed(ActionEventae){
intlen=arrayList.size();
if(ae.getSource()==add||ae.getSource()==addJMenuItem){
AddDialogadd=newAddDialog(this.frame,true);
add.show();
}
elseif(ae.getSource()==find||ae.getSource()==findJMenuItem){
if(len==0){
JOptionPane.showMessageDialog(frame,"
我的书籍里没书!
!
return;
}
find();
}
elseif(ae.getSource()==delete||ae.getSource()==deleteJMenuItem){
if(len==0){
}
delete();
elseif(ae.getSource()==sort1){
sortValue();
elseif(ae.getSource()==sort2){
elseif(ae.getSource()==cancel){
System.exit(0);
}
//实现TreeSelectionListener方法
publicvoidvalueChanged(TreeSelectionEvente){
DefaultMutableTreeNodedefaultNode=(DefaultMutableTreeNode)jTree.
getLastSelectedPathComponent();
if(defaultNode!
=null){
Stringname=defaultNode.getUserObject().toString();
intlen=arrayList.size();
inti=0;
while(i<
len){
Booktemp=(Book)arrayList.get(i);
if(temp.getName().equals(name)){
textArea.setText("
\n书名:
+temp.getName()+"
\n类别:
+temp.getFenlei()+"
\n购买时间:
+temp.getBuyTime()
+"
\n单价:
+temp.getValue()+"
\n简介:
+temp.getJianjie());
return;
}
i++;
}
}
//删除书
publicvoiddelete(){
Stringname="
"
try{
name=JOptionPane.showInputDialog(frame,"
请输入书名:
不能为空"
}catch(Exceptione){System.out.println("
hejhtrjy6r"
if(name.equalsIgnoreCase("
)){return;
intlen=arrayList.size();
inti=0;
Booktemp=newBook();
while(i<
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.getFenlei()+"
+temp.getBuyTime()+"
+temp.getJianjie()+"
删除成功!
!
}
privatevoiddeleteJTreeNode(Stringname,Stringfenlei){
DefaultMutableTreeNodeparent=root.getNextNode();
while(parent!
=null&
&
parent.getUserObject().equals(fenlei)){
parent=parent.getNextSibling();
//获得兄弟节点
}
DefaultMutableTreeNodechild=parent.getFirstLeaf();
while(child!
child.getUserObject().equals(name)){
child=child.getNextSibling();
//获得兄弟节点
}
treeModel.removeNodeFromParent(child);
//找书
publicvoidfind(){
"
g43h35h54h4j"
+name);
return;
\n\n没有该书!
您要找的书:
+temp.getJianjie());
//排序
publi
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 个人 图书 管理 系统