Oracle之实战(图书管理系统)

这是我oracle课程设计的作品的数据库脚本部分,应老师要求,尽量把学到的东西都应用上,所以涉及了包,序列,触发器,存储过程,建表,主外键,分页查询等

1、创建表空间(永久,临时,撤销),用户,授权 

create tablespace bookspace datafile 'E:\app\Administrator\oradata\orcl\bookspace.dbf'

 size 50M
 autoextend on
 next 5M
 maxsize 100M;
create temporary tablespace booktemp
tempfile 'E:\app\Administrator\oradata\orcl\boooktemp.dbf'
size 10M
autoextend on
next 2M
maxsize 20M;
create undo tablespace bookundo
datafile 'E:\app\Administrator\oradata\orcl\boookundo.dbf'
size 50M
autoextend on
next 5M
maxsize 100M;
create user lrz 
identified by  916520
default tablespace bookspace 
temporary tablespace booktemp;
alter user lrz quota unlimited on bookspace;
grant create session,create table,create procedure,create sequence,create trigger to lrz;


创建包定义成游标类型,select * from table...查询出多记录时,就用上场了

CREATE OR REPLACE PACKAGE PACKAGE_ORDER  AS
 TYPE CURSOR_ORDER IS REF CURSOR;
END PACKAGE_ORDER;
/

创建序列,用于实现自增长
CREATE SEQUENCE order_id    
MINVALUE 1    
START WITH 1    
INCREMENT BY 1    
CACHE 20;
/
commit;
CREATE SEQUENCE borrow_id    
MINVALUE 1    
START WITH 1    
INCREMENT BY 1    
CACHE 20;
/
commit;
CREATE SEQUENCE bookType_id    
MINVALUE 1    
START WITH 1    
INCREMENT BY 1    
CACHE 20;

创建表
create table tb_operater(
no varchar2(11) primary key,
name varchar2(30) not null,
pwd varchar2(30) not null,
sex char(2),
age number,
workdate timestamp not null,
tel char(11) null
);
insert into tb_operater values('2010324264','lrz','916520','男',23,sysdate,'15875952044');
commit; 
create table tb_bookType(
id number primary key,
name varchar2(30) not null unique,
days number not null,
fine number(7,2) not null
);
create table tb_bookInfo(
ISBN varchar2(13) primary key,
typeId number not null,
name varchar2(100) not null,
author varchar2(30) not null,
translator varchar2(30) null,
publisher varchar2(50) not null,
publishDate timestamp not null,
price number(7,2) null,
constraint fk_bkInfo_bkType foreign key(typeId) references tb_bookType(id)
); 
create table tb_reader(
no varchar2(11) primary key,
name varchar2(30) not null,
pwd varchar2(30) not null,
sex char(2),
age number,
career varchar2(30),
certificate varchar2(20),
certificateNo varchar2(30),
workdate timestamp not null,
lastdate timestamp not null,
maxAccount number not null,
tel char(11) null,
email varchar2(50) not null,
deposit number(7,2)   default  0.00
);
create table tb_order(
id number primary key,
bkISBN varchar2(13) not null,
operaterNo varchar2(11), 
account number not null,
orderDate timestamp not null,
checkAndAccept char(1) not null,
discount number not null,
constraint fk_order_bkInfo foreign key(bkISBN) references tb_bookInfo(ISBN)
);
create table tb_borrow(
id number primary key,
bkISBN  varchar2(13) not null,
operaterNo varchar2(11) null,
readerNo varchar2(11),
borrowDate timestamp not null,
backDate timestamp null,
back char(1) not null,
constraint fk_borrow_bkInfo foreign key(bkISBN) references tb_bookInfo(ISBN),
constraint fk_borrow_operater foreign key(operaterNo) references tb_operater(no),
constraint fk_borrow_reader foreign key(readerNo) references tb_reader(no)
);

创建触发器
create trigger delete_tb_booktype_trigger
before delete on tb_bookType
for each row
begin
delete  from tb_bookInfo where typeId=:old.id;
end delete_tb_booktype_trigger;
/

创建存储过程
CREATE OR REPLACE PROCEDURE PROCEDURE_ORDER_BKINFO(P_CURSOR OUT PACKAGE_ORDER.CURSOR_ORDER) IS 
BEGIN
    OPEN P_CURSOR FOR select a.*,b.* from tb_bookinfo a,tb_order b where a.isbn=b.bkisbn;
END PROCEDURE_ORDER_BKINFO;
/
CREATE OR REPLACE PROCEDURE PROCEDURE_ORDER_BKINFO_2(P_CURSOR OUT PACKAGE_ORDER.CURSOR_ORDER) IS 
BEGIN
    OPEN P_CURSOR FOR select a.* from tb_bookInfo a,tb_order b where a.ISBN!=b.bkISBN; 
END PROCEDURE_ORDER_BKINFO_2;
/
CREATE OR REPLACE PROCEDURE PROCEDURE_ORDER_1(ORDER_ISBN IN VARCHAR2,ORDER_OPERRATERNO IN VARCHAR2,ORDER_ACCOUNT IN NUMBER,ORDER_DATE IN TIMESTAMP,ORDER_DISCOUNT IN NUMBER) 
IS 
BEGIN
    insert into tb_order(id,bkISBN,operaterNo,account,orderDate,checkAndAccept,discount)  
    values(order_id.nextval,ORDER_ISBN,ORDER_OPERRATERNO,ORDER_ACCOUNT,ORDER_DATE,'0',ORDER_DISCOUNT);
END PROCEDURE_ORDER_1;
/
CREATE OR REPLACE PROCEDURE PROCEDURE_ORDER_2(ORDER_ID IN NUMBER,ORDER_RESULT OUT NUMBER) 
IS 
BEGIN
   update tb_order set checkAndAccept='1' where id=ORDER_ID;
   ORDER_RESULT := sql%rowcount;
END PROCEDURE_ORDER_2;
/
CREATE OR REPLACE PROCEDURE PROCEDURE_READER_1(reader tb_reader%rowtype) 
IS 
BEGIN
   insert into tb_reader(no,name,pwd,sex,age,career,certificate,certificateNo,workdate,lastdate,maxAccount,tel,email,deposit) values(reader.no,reader.name,reader.pwd,reader.sex,reader.age,reader.career,reader.certificate,reader.certificateNo,reader.workdate,reader.lastdate,reader.maxAccount,reader.tel,reader.email,reader.deposit);
END PROCEDURE_READER_1;
/

初始化数据:

insert into tb_booktype  values(booktype_id.nextval,'哲学',10,0.3);
insert into tb_booktype  values(booktype_id.nextval,'文学',10,0.3);
insert into tb_booktype  values(booktype_id.nextval,'经济学',10,0.3);
insert into tb_booktype  values(booktype_id.nextval,'生物学',10,0.3);
insert into tb_booktype  values(booktype_id.nextval,'天文学',10,0.3);
insert into tb_booktype  values(booktype_id.nextval,'医学',10,0.3);
insert into tb_booktype  values(booktype_id.nextval,'工学',10,0.3);
commit;
insert into tb_bookinfo  values('2222222222221',2,'马克思主义新论','李日中','李日中','广东工业出版社',sysdate,100);
insert into tb_bookinfo  values('2222222222222',2,'马克思主义新论','李日中','李日中','广东工业出版社',sysdate,100);
insert into tb_bookinfo  values('2222222222223',2,'马克思主义新论','李日中','李日中','广东工业出版社',sysdate,100);
insert into tb_bookinfo  values('2222222222224',2,'马克思主义新论','李日中','李日中','广东工业出版社',sysdate,100);
insert into tb_bookinfo  values('2222222222225',2,'马克思主义新论','李日中','李日中','广东工业出版社',sysdate,100);
insert into tb_bookinfo  values('2222222222226',2,'马克思主义新论','李日中','李日中','广东工业出版社',sysdate,100);
insert into tb_bookinfo  values('2222222222227',2,'马克思主义新论','李日中','李日中','广东工业出版社',sysdate,100);
insert into tb_bookinfo  values('2222222222228',2,'马克思主义新论','李日中','李日中','广东工业出版社',sysdate,100);
insert into tb_bookinfo  values('2222222222229',2,'马克思主义新论','李日中','李日中','广东工业出版社',sysdate,100);
insert into tb_bookinfo  values('2222222222220',2,'马克思主义新论','李日中','李日中','广东工业出版社',sysdate,100);
commit;
insert into tb_bookinfo  values('3333333333331',3,'该死的文学','李日中','李日中','广东工业出版社',sysdate,100);
insert into tb_bookinfo  values('3333333333332',3,'该死的文学','李日中','李日中','广东工业出版社',sysdate,100);
insert into tb_bookinfo  values('3333333333333',3,'该死的文学','李日中','李日中','广东工业出版社',sysdate,100);
insert into tb_bookinfo  values('3333333333334',3,'该死的文学','李日中','李日中','广东工业出版社',sysdate,100);
insert into tb_bookinfo  values('3333333333335',3,'该死的文学','李日中','李日中','广东工业出版社',sysdate,100);
insert into tb_bookinfo  values('3333333333336',3,'该死的文学','李日中','李日中','广东工业出版社',sysdate,100);
insert into tb_bookinfo  values('3333333333337',3,'该死的文学','李日中','李日中','广东工业出版社',sysdate,100);
insert into tb_bookinfo  values('3333333333338',3,'该死的文学','李日中','李日中','广东工业出版社',sysdate,100);
insert into tb_bookinfo  values('3333333333339',3,'该死的文学','李日中','李日中','广东工业出版社',sysdate,100);
insert into tb_bookinfo  values('3333333333330',3,'该死的文学','李日中','李日中','广东工业出版社',sysdate,100);
commit;
insert into tb_bookinfo  values('4444444444441',4,'讨厌的经济学','李日中','李日中','广东工业出版社',sysdate,100);
insert into tb_bookinfo  values('4444444444442',4,'讨厌的经济学','李日中','李日中','广东工业出版社',sysdate,100);
insert into tb_bookinfo  values('4444444444443',4,'讨厌的经济学','李日中','李日中','广东工业出版社',sysdate,100);
insert into tb_bookinfo  values('4444444444444',4,'讨厌的经济学','李日中','李日中','广东工业出版社',sysdate,100);
insert into tb_bookinfo  values('4444444444445',4,'讨厌的经济学','李日中','李日中','广东工业出版社',sysdate,100);
insert into tb_bookinfo  values('4444444444446',4,'讨厌的经济学','李日中','李日中','广东工业出版社',sysdate,100);
insert into tb_bookinfo  values('4444444444447',4,'讨厌的经济学','李日中','李日中','广东工业出版社',sysdate,100);
insert into tb_bookinfo  values('4444444444448',4,'讨厌的经济学','李日中','李日中','广东工业出版社',sysdate,100);
insert into tb_bookinfo  values('4444444444449',4,'讨厌的经济学','李日中','李日中','广东工业出版社',sysdate,100);
insert into tb_bookinfo  values('4444444444440',4,'讨厌的经济学','李日中','李日中','广东工业出版社',sysdate,100);
commit;
insert into tb_bookinfo  values('5555555555551',5,'忽悠人的生物学','李日中','李日中','广东工业出版社',sysdate,100);
insert into tb_bookinfo  values('5555555555552',5,'忽悠人的生物学','李日中','李日中','广东工业出版社',sysdate,100);
insert into tb_bookinfo  values('5555555555553',5,'忽悠人的生物学','李日中','李日中','广东工业出版社',sysdate,100);
insert into tb_bookinfo  values('5555555555554',5,'忽悠人的生物学','李日中','李日中','广东工业出版社',sysdate,100);
insert into tb_bookinfo  values('5555555555555',5,'忽悠人的生物学','李日中','李日中','广东工业出版社',sysdate,100);
insert into tb_bookinfo  values('5555555555556',5,'忽悠人的生物学','李日中','李日中','广东工业出版社',sysdate,100);
insert into tb_bookinfo  values('5555555555557',5,'忽悠人的生物学','李日中','李日中','广东工业出版社',sysdate,100);
insert into tb_bookinfo  values('5555555555558',5,'忽悠人的生物学','李日中','李日中','广东工业出版社',sysdate,100);
insert into tb_bookinfo  values('5555555555559',5,'忽悠人的生物学','李日中','李日中','广东工业出版社',sysdate,100);
insert into tb_bookinfo  values('5555555555550',5,'忽悠人的生物学','李日中','李日中','广东工业出版社',sysdate,100);
commit;
insert into tb_bookinfo  values('6666666666661',6,'神秘的天文学','李日中','李日中','广东工业出版社',sysdate,100);
insert into tb_bookinfo  values('6666666666662',6,'神秘的天文学','李日中','李日中','广东工业出版社',sysdate,100);
insert into tb_bookinfo  values('6666666666663',6,'神秘的天文学','李日中','李日中','广东工业出版社',sysdate,100);
insert into tb_bookinfo  values('6666666666664',6,'神秘的天文学','李日中','李日中','广东工业出版社',sysdate,100);
insert into tb_bookinfo  values('6666666666665',6,'神秘的天文学','李日中','李日中','广东工业出版社',sysdate,100);
insert into tb_bookinfo  values('6666666666666',6,'神秘的天文学','李日中','李日中','广东工业出版社',sysdate,100);
insert into tb_bookinfo  values('6666666666667',6,'神秘的天文学','李日中','李日中','广东工业出版社',sysdate,100);
insert into tb_bookinfo  values('6666666666668',6,'神秘的天文学','李日中','李日中','广东工业出版社',sysdate,100);
insert into tb_bookinfo  values('6666666666669',6,'神秘的天文学','李日中','李日中','广东工业出版社',sysdate,100);
insert into tb_bookinfo  values('6666666666660',6,'神秘的天文学','李日中','李日中','广东工业出版社',sysdate,100);
commit;
insert into tb_bookinfo  values('7777777777771',7,'苦B的医学','李日中','李日中','广东工业出版社',sysdate,100);
insert into tb_bookinfo  values('7777777777772',7,'苦B的医学','李日中','李日中','广东工业出版社',sysdate,100);
insert into tb_bookinfo  values('7777777777773',7,'苦B的医学','李日中','李日中','广东工业出版社',sysdate,100);
insert into tb_bookinfo  values('7777777777774',7,'苦B的医学','李日中','李日中','广东工业出版社',sysdate,100);
insert into tb_bookinfo  values('7777777777775',7,'苦B的医学','李日中','李日中','广东工业出版社',sysdate,100);
insert into tb_bookinfo  values('7777777777776',7,'苦B的医学','李日中','李日中','广东工业出版社',sysdate,100);
insert into tb_bookinfo  values('7777777777777',7,'苦B的医学','李日中','李日中','广东工业出版社',sysdate,100);
insert into tb_bookinfo  values('7777777777778',7,'苦B的医学','李日中','李日中','广东工业出版社',sysdate,100);
insert into tb_bookinfo  values('7777777777779',7,'苦B的医学','李日中','李日中','广东工业出版社',sysdate,100);
insert into tb_bookinfo  values('7777777777770',7,'苦B的医学','李日中','李日中','广东工业出版社',sysdate,100);
commit;
insert into tb_bookinfo  values('8888888888881',8,'牛B的工学','李日中','李日中','广东工业出版社',sysdate,100);
insert into tb_bookinfo  values('8888888888882',8,'牛B的工学','李日中','李日中','广东工业出版社',sysdate,100);
insert into tb_bookinfo  values('8888888888883',8,'牛B的工学','李日中','李日中','广东工业出版社',sysdate,100);
insert into tb_bookinfo  values('8888888888884',8,'牛B的工学','李日中','李日中','广东工业出版社',sysdate,100);
insert into tb_bookinfo  values('8888888888885',8,'牛B的工学','李日中','李日中','广东工业出版社',sysdate,100);
insert into tb_bookinfo  values('8888888888886',8,'牛B的工学','李日中','李日中','广东工业出版社',sysdate,100);
insert into tb_bookinfo  values('8888888888887',8,'牛B的工学','李日中','李日中','广东工业出版社',sysdate,100);
insert into tb_bookinfo  values('8888888888888',8,'牛B的工学','李日中','李日中','广东工业出版社',sysdate,100);
insert into tb_bookinfo  values('8888888888889',8,'牛B的工学','李日中','李日中','广东工业出版社',sysdate,100);
insert into tb_bookinfo  values('8888888888880',8,'牛B的工学','李日中','李日中','广东工业出版社',sysdate,100);
commit;
insert into tb_operater values('2010324265','smp','916520','男',23,sysdate,'15875952044');
insert into tb_operater values('2010324266','http','916520','男',23,sysdate,'15875952044');
insert into tb_operater values('2010324267','ftp','916520','男',23,sysdate,'15875952044');
insert into tb_operater values('2010324268','www','916520','男',23,sysdate,'15875952044');
insert into tb_operater values('2010324269','smpt','916520','男',23,sysdate,'15875952044');
insert into tb_operater values('2010324260','pop3','916520','男',23,sysdate,'15875952044');
insert into tb_operater values('2010324261','imap','916520','男',23,sysdate,'15875952044');
insert into tb_operater values('2010324262','sendmail','916520','男',23,sysdate,'15875952044');
insert into tb_operater values('2010324263','sendbar','916520','男',23,sysdate,'15875952044');
commit;
insert into tb_reader values('20103242640','李日中','916520','男',23,'学生','学生证','2010324264',sysdate,sysdate,10,'15875952044','1130141391@qq.com',10);
insert into tb_reader values('20103242641','吴xx','916520','男',23,'学生','学生证','2010324264',sysdate,sysdate,10,'15875952044','1130141391@qq.com',10);
insert into tb_reader values('20103242642','顾xxx','916520','男',23,'学生','学生证','2010324264',sysdate,sysdate,10,'15875952044','1130141391@qq.com',10);
insert into tb_reader values('20103242644','陈xx','916520','男',23,'学生','学生证','2010324264',sysdate,sysdate,10,'15875952044','1130141391@qq.com',10);
insert into tb_reader values('20103242645','林xx','916520','男',23,'学生','学生证','2010324264',sysdate,sysdate,10,'15875952044','1130141391@qq.com',10);
insert into tb_reader values('20103242646','林xx','916520','男',23,'学生','学生证','2010324264',sysdate,sysdate,10,'15875952044','1130141391@qq.com',10);
insert into tb_reader values('20103242647','梁xx','916520','男',23,'学生','学生证','2010324264',sysdate,sysdate,10,'15875952044','1130141391@qq.com',10);
insert into tb_reader values('20103242648','李xx','916520','男',23,'学生','学生证','2010324264',sysdate,sysdate,10,'15875952044','1130141391@qq.com',10);
insert into tb_reader values('20103242649','李日中','916520','男',23,'学生','学生证','2010324264',sysdate,sysdate,10,'15875952044','1130141391@qq.com',10);
commit;
insert into tb_borrow values(borrow_id.nextval,'2222222222221','2010324264','20103242640',sysdate,sysdate,'0');
insert into tb_borrow values(borrow_id.nextval,'2222222222222','2010324264','20103242640',sysdate,sysdate,'0');
insert into tb_borrow values(borrow_id.nextval,'2222222222223','2010324264','20103242640',sysdate,sysdate,'0');
insert into tb_borrow values(borrow_id.nextval,'2222222222224','2010324264','20103242640',sysdate,sysdate,'0');
insert into tb_borrow values(borrow_id.nextval,'2222222222225','2010324264','20103242640',sysdate,sysdate,'0');
insert into tb_borrow values(borrow_id.nextval,'2222222222226','2010324264','20103242640',sysdate,sysdate,'0');
insert into tb_borrow values(borrow_id.nextval,'2222222222227','2010324264','20103242640',sysdate,sysdate,'0');
insert into tb_borrow values(borrow_id.nextval,'2222222222228','2010324264','20103242640',sysdate,sysdate,'0');
insert into tb_borrow values(borrow_id.nextval,'2222222222229','2010324264','20103242640',sysdate,sysdate,'0');
insert into tb_borrow values(borrow_id.nextval,'2222222222220','2010324264','20103242640',sysdate,sysdate,'0');
commit;
insert into tb_order values(order_id.nextval,'2222222222222','2010324264',10,sysdate,'0',8);
insert into tb_order values(order_id.nextval,'2222222222220','2010324264',10,sysdate,'0',8);
insert into tb_order values(order_id.nextval,'2222222222221','2010324264',10,sysdate,'0',8);
insert into tb_order values(order_id.nextval,'2222222222223','2010324264',10,sysdate,'0',8);
insert into tb_order values(order_id.nextval,'2222222222224','2010324264',10,sysdate,'0',8);
insert into tb_order values(order_id.nextval,'2222222222225','2010324264',10,sysdate,'0',8);
insert into tb_order values(order_id.nextval,'2222222222226','2010324264',10,sysdate,'0',8);
insert into tb_order values(order_id.nextval,'2222222222227','2010324264',10,sysdate,'0',8);
insert into tb_order values(order_id.nextval,'2222222222228','2010324264',10,sysdate,'0',8);
insert into tb_order values(order_id.nextval,'2222222222229','2010324264',10,sysdate,'0',8);
commit;


之后会总结下在java中使用什么api操作oracle,跟mysql还是有些不同的,在使用的方法上,特别注意java中的数据类型怎么与oracle的数据类型对应上,

mysql与oracle的分页功能有些不同。


图书馆图书管理系统 主窗口: import java.awt.*; import java.awt.event.*; import javax.swing.*; import myClass.swing.*; public class MainWindow extends JFrame implements ActionListener { JPanel panel1;//panel2; Container c; JMenuBar MenuB; JMenu SystemMenu,BookMGRMenu,BorrowBookMenu,ReturnBookMenu, InfoBrowseMenu,UserMGRMenu; JMenuItem UserLoginMenuItem,UserAddMenuItem,UserModifyMenuItem, UserDeleteMenuItem,ExitMenuItem,BookAddMenuItem,BookModifyMenuItem,BookDeleteMenuItem, BorrowBookMenuItem,BorrowInfoMenuItem,ReturnBookMenuItem,ReturnInfoMenuItem, BookListMenuItem,BorrowBookListMenuItem,UserListMenuItem; JLabel titleLabel,AuthorLabel,DateLabel; public MainWindow() { super("图书馆管理系统"); //--系统管理菜单-- MenuB=new JMenuBar(); SystemMenu=new JMenu("系统管理"); UserMGRMenu=new JMenu("用户管理"); UserLoginMenuItem=new JMenuItem("用户登录"); UserAddMenuItem=new JMenuItem("添加用户"); UserModifyMenuItem=new JMenuItem("修改用户"); UserDeleteMenuItem=new JMenuItem("删除用户"); ExitMenuItem=new JMenuItem("退出"); SystemMenu.add(UserLoginMenuItem); UserMGRMenu.add(UserAddMenuItem); UserMGRMenu.add(UserModifyMenuItem); UserMGRMenu.add(UserDeleteMenuItem); SystemMenu.add(UserMGRMenu); SystemMenu.add(ExitMenuItem); UserLoginMenuItem.addActionListener(this); UserAddMenuItem.addActionListener(this); UserModifyMenuItem.addActionListener(this); UserDeleteMenuItem.addActionListener(this); ExitMenuItem.addActionListener(this); MenuB.add(SystemMenu); //---书籍管理菜单-- BookMGRMenu=new JMenu("书籍管理"); BookAddMenuItem=new JMenuItem("添加书籍"); BookModifyMenuItem=new JMenuItem("修改书籍"); BookDeleteMenuItem=new JMenuItem("删除书籍"); BookMGRMenu.add(BookAddMenuItem); BookMGRMenu.add(BookModifyMenuItem); BookMGRMenu.add(BookDeleteMenuItem); BookAddMenuItem.addActionListener(this); BookModifyMenuItem.addActionListener(this); BookDeleteMenuItem.addActionListener(this); MenuB.add(BookMGRMenu); //--借书管理菜单-- BorrowBookMenu=new JMenu("借书管理"); BorrowBookMenuItem=new JMenuItem("书籍出借"); BorrowInfoMenuItem=new JMenuItem("出借信息修改"); BorrowBookMenu.add(BorrowBookMenuItem); BorrowBookMenu.add(BorrowInfoMenuItem); BorrowBookMenuItem.addActionListener(this); BorrowInfoMenuItem.addActionListener(this); MenuB.add(BorrowBookMenu); //--还书管理菜单-- ReturnBookMenu=new JMenu("还书管理"); ReturnBookMenuItem=new JMenuItem("书籍还入"); ReturnInfoMenuItem=new JMenuItem("书籍还入信息修改"); ReturnBookMenu.add(ReturnBookMenuItem); ReturnBookMenu.add(ReturnInfoMenuItem); ReturnBookMenuItem.addActionListener(this); ReturnInfoMenuItem.addActionListener(this); MenuB.add(ReturnBookMenu); //--信息一览菜单-- InfoBrowseMenu=new JMenu("信息一览"); BookListMenuItem=new JMenuItem("书籍列表"); BorrowBookListMenuItem=new JMenuItem("借阅情况表"); UserListMenuItem=new JMenuItem("用户列表"); InfoBrowseMenu.add(BookListMenuItem); InfoBrowseMenu.add(BorrowBookListMenuItem); InfoBrowseMenu.add(UserListMenuItem); BookListMenuItem.addActionListener(this); BorrowBookListMenuItem.addActionListener(this); UserListMenuItem.addActionListener(this); MenuB.add(InfoBrowseMenu); //---------------------------------- setJMenuBar(MenuB); //titleLabel=new JLabel("欢迎使用图书管理系统",JLabel.CENTER); //titleLabel.setFont(new Font("TimesRoman",Font.BOLD,24)); //AuthorLabel=new JLabel("作者:麦密辉",JLabel.RIGHT); //DateLabel=new JLabel("完成时间:04-11-04",JLabel.RIGHT); titleLabel=new JLabel(new ImageIcon(".\\pic.jpg")); c=getContentPane(); c.setLayout(new BorderLayout()); panel1=new JPanel(); panel1.setLayout(new BorderLayout()); //panel2=new JPanel(); //panel2.setLayout(new BorderLayout()); panel1.add(titleLabel,BorderLayout.CENTER); //panel2.add(AuthorLabel,BorderLayout.NORTH); //panel2.add(DateLabel,BorderLayout.SOUTH); c.add(panel1,BorderLayout.CENTER); //c.add(panel2,BorderLayout.SOUTH); setBounds(100,50,400,300); show(); //--设置初始功能:-- UserMGRMenu.setEnabled(false); BookMGRMenu.setEnabled(false); BorrowBookMenu.setEnabled(false); ReturnBookMenu.setEnabled(false); InfoBrowseMenu.setEnabled(false); } //--设置每个菜单点击后出现的窗口和窗口显示的位置-- public void actionPerformed(ActionEvent e) { if(e.getActionCommand()=="用户登录") { UserLogin UserLoginFrame=new UserLogin(this); Dimension FrameSize=UserLoginFrame.getPreferredSize(); Dimension MainFrameSize=getSize(); Point loc=getLocation(); UserLoginFrame.setLocation((MainFrameSize.width-FrameSize.width)/2+loc.x, (MainFrameSize.height-FrameSize.height)/2+loc.y); UserLoginFrame.pack(); UserLoginFrame.show(); } else if(e.getActionCommand()=="添加用户") { UserAdd UserAddFrame=new UserAdd(); Dimension FrameSize=UserAddFrame.getPreferredSize(); Dimension MainFrameSize=getSize(); Point loc=getLocation(); UserAddFrame.setLocation((MainFrameSize.width-FrameSize.width)/2+loc.x, (MainFrameSize.height-FrameSize.height)/2+loc.y); UserAddFrame.pack(); UserAddFrame.show(); } else if(e.getActionCommand()=="修改用户") { UserModify UserModifyFrame=new UserModify(); Dimension FrameSize=UserModifyFrame.getPreferredSize(); Dimension MainFrameSize=getSize(); Point loc=getLocation(); UserModifyFrame.setLocation((MainFrameSize.width-FrameSize.width)/2+loc.x, (MainFrameSize.height-FrameSize.height)/2+loc.y); UserModifyFrame.pack(); UserModifyFrame.show(); } else if(e.getActionCommand()=="删除用户") { UserDelete UserDeleteFrame=new UserDelete(); Dimension FrameSize=UserDeleteFrame.getPreferredSize(); Dimension MainFrameSize=getSize(); Point loc=getLocation(); UserDeleteFrame.setLocation((MainFrameSize.width-FrameSize.width)/2+loc.x, (MainFrameSize.height-FrameSize.height)/2+loc.y); UserDeleteFrame.pack(); UserDeleteFrame.show(); } else if(e.getActionCommand()=="添加书籍") { BookAdd BookAddFrame=new BookAdd(); Dimension FrameSize=BookAddFrame.getPreferredSize(); Dimension MainFrameSize=getSize(); Point loc=getLocation(); BookAddFrame.setLocation((MainFrameSize.width-FrameSize.width)/2+loc.x, (MainFrameSize.height-FrameSize.height)/2+loc.y); BookAddFrame.pack(); BookAddFrame.show(); } else if(e.getActionCommand()=="修改书籍") { BookModify BookModifyFrame=new BookModify(); Dimension FrameSize=BookModifyFrame.getPreferredSize(); Dimension MainFrameSize=getSize(); Point loc=getLocation(); BookModifyFrame.setLocation((MainFrameSize.width-FrameSize.width)/2+loc.x, (MainFrameSize.height-FrameSize.height)/2+loc.y); BookModifyFrame.pack(); BookModifyFrame.show(); } else if(e.getActionCommand()=="删除书籍") { BookDelete BookDeleteFrame=new BookDelete(); Dimension FrameSize=BookDeleteFrame.getPreferredSize(); Dimension MainFrameSize=getSize(); Point loc=getLocation(); BookDeleteFrame.setLocation((MainFrameSize.width-FrameSize.width)/2+loc.x, (MainFrameSize.height-FrameSize.height)/2+loc.y); BookDeleteFrame.pack(); BookDeleteFrame.show(); } else if(e.getActionCommand()=="书籍出借") { BorrowBook BorrowBookFrame=new BorrowBook(); Dimension FrameSize=BorrowBookFrame.getPreferredSize(); Dimension MainFrameSize=getSize(); Point loc=getLocation(); BorrowBookFrame.setLocation((MainFrameSize.width-FrameSize.width)/2+loc.x, (MainFrameSize.height-FrameSize.height)/2+loc.y); BorrowBookFrame.pack(); BorrowBookFrame.show(); } else if(e.getActionCommand()=="出借信息修改") { BorrowInfo BorrowInfoFrame=new BorrowInfo(); Dimension FrameSize=BorrowInfoFrame.getPreferredSize(); Dimension MainFrameSize=getSize(); Point loc=getLocation(); BorrowInfoFrame.setLocation((MainFrameSize.width-FrameSize.width)/2+loc.x, (MainFrameSize.height-FrameSize.height)/2+loc.y); BorrowInfoFrame.pack(); BorrowInfoFrame.show(); } else if(e.getActionCommand()=="书籍还入") { ReturnBook ReturnBookFrame=new ReturnBook(); Dimension FrameSize=ReturnBookFrame.getPreferredSize(); Dimension MainFrameSize=getSize(); Point loc=getLocation(); ReturnBookFrame.setLocation((MainFrameSize.width-FrameSize.width)/2+loc.x, (MainFrameSize.height-FrameSize.height)/2+loc.y); ReturnBookFrame.pack(); ReturnBookFrame.show(); } else if(e.getActionCommand()=="书籍还入信息修改") { ReturnInfo ReturnInfoFrame=new ReturnInfo(); Dimension FrameSize=ReturnInfoFrame.getPreferredSize(); Dimension MainFrameSize=getSize(); Point loc=getLocation(); ReturnInfoFrame.setLocation((MainFrameSize.width-FrameSize.width)/2+loc.x, (MainFrameSize.height-FrameSize.height)/2+loc.y); ReturnInfoFrame.pack(); ReturnInfoFrame.show(); } else if(e.getActionCommand()=="书籍列表") { BookList BookListFrame=new BookList(); Dimension FrameSize=BookListFrame.getPreferredSize(); Dimension MainFrameSize=getSize(); Point loc=getLocation(); BookListFrame.setLocation((MainFrameSize.width-FrameSize.width)/2+loc.x, (MainFrameSize.height-FrameSize.height)/2+loc.y); BookListFrame.pack(); BookListFrame.show(); } else if(e.getActionCommand()=="借阅情况表") { BorrowBookList BorrowBookListFrame=new BorrowBookList(); Dimension FrameSize=BorrowBookListFrame.getPreferredSize(); Dimension MainFrameSize=getSize(); Point loc=getLocation(); BorrowBookListFrame.setLocation((MainFrameSize.width-FrameSize.width)/2+loc.x, (MainFrameSize.height-FrameSize.height)/2+loc.y); BorrowBookListFrame.pack(); BorrowBookListFrame.show(); } else if(e.getActionCommand()=="用户列表") { UserList UserListFrame=new UserList(); Dimension FrameSize=UserListFrame.getPreferredSize(); Dimension MainFrameSize=getSize(); Point loc=getLocation(); UserListFrame.setLocation((MainFrameSize.width-FrameSize.width)/2+loc.x, (MainFrameSize.height-FrameSize.height)/2+loc.y); UserListFrame.pack(); UserListFrame.show(); } else if(e.getActionCommand()=="退出") { this.dispose(); System.exit(0); } } //--设置登录用户的权限-- public void setEnable(String powerType) { if(powerType.trim().equals("系统管理员")) { UserMGRMenu.setEnabled(true); BookMGRMenu.setEnabled(true); BorrowBookMenu.setEnabled(true); ReturnBookMenu.setEnabled(true); InfoBrowseMenu.setEnabled(true); UserListMenuItem.setEnabled(true); } else if(powerType.trim().equals("书籍管理员")) { UserMGRMenu.setEnabled(false); BookMGRMenu.setEnabled(true); BorrowBookMenu.setEnabled(false); ReturnBookMenu.setEnabled(false); InfoBrowseMenu.setEnabled(true); UserListMenuItem.setEnabled(false); } else if(powerType.trim().equals("借阅管理员")) { UserMGRMenu.setEnabled(false); BookMGRMenu.setEnabled(false); BorrowBookMenu.setEnabled(true); ReturnBookMenu.setEnabled(true); InfoBrowseMenu.setEnabled(true); UserListMenuItem.setEnabled(false); } else if(powerType.trim().equals("else")) { UserMGRMenu.setEnabled(false); BookMGRMenu.setEnabled(false); BorrowBookMenu.setEnabled(false); ReturnBookMenu.setEnabled(false); InfoBrowseMenu.setEnabled(false); } } public static void main(String args[]) { MainWindow mainFrame=new MainWindow(); mainFrame.addWindowListener(new MyWindowListener()); } }
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值