版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java编写简单图书管理系统
主界面
代码实现
packageLibrary;
importjava.awt.BorderLayout;
importjava.awt.Color;
importjava.awt.Container;
importjava.awt.evcnt.ActionEvent;
importjava.awt.event.ActionListener;
importjava.sql.Connection;
importjava.sqLDriverManager;
importjava.sql.ResultSet;
importjava.sql.SQLException;
importjava.sql.Statement;
importjavax.swing.Imagelcon;
importjavax.swing.JButton;
importjavax.swing.JFrame;
importjavax.swing.JLabel;
importjavax.swing.JOptionPane;
importjavax.swing.JPanel;
importjavax.swingJPassv/ordField;
importjavax.swing.JTextField;
publicclassLoginextendsJFrame{
privatestaticfinallongserialVersionUID=1L;
privateJLabeljlUsemame;
privateJLabeljlPwd;
privateJTextFieldtxtUsemame;〃用户名
privateJTextFieldtxtPassword;〃密码
privateJButtonjbOk;
private(ButtonjbCancel;
publicJLabelgetJlUsername(){
if(jIUsername==nu)I)
(
jlUsername=newJLabel("账号");
jlUsername.setForeground(Color.BLACK);
jIUsername.setBounds(n8,40,85,30);
)
returnjIUsername;
publicJLabelgetJ!Pwd(){
i(jlPwd==nul)
jlPwd=newJLabel("密码");
jlPwdsetForeground(Coloi.BLACK);
jIPwdsetBounds(n8,100,85,30);
)
returnjIPwd;
}
publicJTextFieldgetTxtUsername(){
if(txtUsername==nul1)
(
txtUsername=newJTextField(2O);
txtUsername.setBounds(i8o,40,200,30);
)
returntxtUsername;
)
publicJTextFieldgetTxtPassword(){
ii(txtPassword==null)
(
txtPassword=newJPasswordField(2o);
txtPassword.setBounds(i8o,100,200,30);
)
returntxtPassword;
)
publicJButtongetJbOk(){
if(jbOk==null)
jbOk=newJButton("登陆");
jbOk.setBounds(i50,180,90,30);
//jbOk.addActionListener(this);
1
returnjbOk;
)
publicJButtongetJbCance(){
il(jbCancel==null)
|
jbCancel=newJButton('取消");
jbCancel.setBounds(3OO,180,90,30);
)
returnjbCancel;
1
publicLogin(Stringtitle)
(
super(title);
//JFrameframe=newJFrame();
Containercantainer:this.getContentPane();
this.setDefau.tCloseOperation(JFrame.EX/T_ON_CLOSE):
Imageiconimg=newImageIcon("F:\\Java\\传习
\\src\\Libmry\\ZF'XY'H48I_}U)C4TM2-C4.jpg");〃这是背景图片
儿abelimgLabel=newJLabel(img);〃将背景图放在标签里。
this.getLayeredPane()add(imgLabel,new
Integer(Integer.MZN_V^LUE));//注意这里是关键,将背景标签添加到
jframLayeredPane面板里。
imgLabel.setBounds(o,o,img.getIconWidth(),
img.getIconHeight());〃设置背景标签位置
cantainer.setLayout(newBorderLayout());
imgLabel.setLayout(null);
imgLabel.add(getJlUsername());
imgLabel.add(getTxtUsername());
imgLabel.add(getJlPwd());
imgLabel.addigetTxtPasswordO);
imgLabel.add(getJbOkO);
imgLabel.add(getJbCancelO);
cantainer.add(imgLabel,BorderLayout.NO^TH);
((JPanel)cantainer).setOpaque(false);//ft将内容面板设为
透明。这么LayeredPane面板中背景才能显示出来。
this.setSize(img.getIconWidth().img.getIconHeight());
myEvent();
this.setVisible(true);
this.setResizable(true);
)
privatevoidmyEvent(){
jbCancel.addActionListener(newActionListener()
(
publicvoidactionPerformed(ActionEvente)
Login.this.dispose();
}
1);
jbOk.addActionLi5tener(newActionListener()
(
publicvoidactionPerfbrmed(ActionEvente)
(
Connectionconn=null;
Statementstm=null;
ResultSetst=null;
try
|
ClassJbrName("com.mysql.jdbc.Driver");
connDriverManager.^eZConnecZ/on("jdbc:mysql://localhost:33o6/library","s
a/123456)
stm^conn.createStatement();
Stringsql="select*fromuser";
//Stringsqh="selectpswfromuser";
st=stm.executeQuery(sql);
//sti=stm.executeQuery(sqh);
if(st.next())
(
if(txtUsername.getText().equals(st.getString("id"))&&txtPassword.getText().
equals(st.getString("psw")))
Login.this.setVisible(false);
newBook("管理界面)
)
else
(
JOptionPane.showMessageDialog(nu\\,"您
输入账号或密码不正确)
getTxtUsername().setText(");
getTxtPassword()setrIext("");
)
)
else
(
)OptionPane.showMessfl^e£)za/o^(null,',rn)1名不
存在,请重新输入,错误!)
getTxtUsername().setText(
getTxtPassword().setText("");
)
)
catch(ClassNotFoundExceptionei)
(
ei.printStackTrace();
}catch(SQLExceptionez){
//TODOAuto-generatedcatchblock
ez.printStackTraceO;
)finally{
try(
stm.closeO;
Jcatch(Exception03){}
〃关闭Connection
try{conn.close();)catch(Exceptione#{}
}
));
)
publicstaticvoidmain(String[]args)
(
newLogin("图书管理登陆界面)
)
管理界面
实现代码
packageLibrary;
importjava.awt.BorderLayout;
importjava.awt.Container;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.sqLConnection;
importjava.sql.DriverManager;
importjava.sql.ResultSet;
importjava.sqLSQLException;
importjava.sql.Statement;
importjavax.swing.Imagelcon;
importjavax.swing.JButton;
importjavax.swing.JFrame;
importjavax.swing.JLabel;
importjavax.swing.JPanel;
importjavax.swing.JTable;
importjavax.swing.JTextField;
publicclassBookextendsJFrame{
privatestaticfinallongserialVersionUID=iL;
privateJLabelIblld;
privateJLabelIblBname;
privateJLabelIblWname;
privateJLabelIbICbs;
privateJLabelIblnumi;
privateJLabelIblnumz;
privateJTextFieldbld;〃图书编号
privateJTextFieldbname;〃书名
privateJTextFieldwname;〃作者名
privateJTextFieldcbs;〃出版社
privateJTextFieldnumi;〃现存昂:
privateJTextFieldnumz;〃库存量
privateJButtonjbDel
private)lextFicldjDel;
privateJButtonjbAdd;
privateJButtonjbSearch;
privateJButtonjbUpdate;
privateJTabletable;
privateJLabeljabel;〃输入要查找书号
publicJLabelgetjabel(){
ii(jabel^=nul)
{
jabel=newJLabel('查删学号");
jabel.setBounds(5o,350,50,30);
I
returnjabel;
1
publicJButtongetJbDel(){
if(jbDel==null)
jbDelnewJButton("删除”);
jbDel.setBounds(i8o,400,60,30);
returnjbDel;
)
publicJTextFieldgetjDel(){
ii>(jDel-null)
(
jDel=newJTextField(2o);
jDel.setBounds(ioo,350,150,30);
I
returnjDel;
)
publicJButtongetJbAdd(){
ii(jbAdd==null)
(
jbAddnewJButton("添加)
jbAddsetBounds(ioo,400,60,30);
)
returnjbAdd;
)
publicJButtongetJbSearch(){
if(jbSearch==nulI)
(
jbSearch^newJButton("有找");
jbSearch.setBounds(ioo,450,60,30);
returnjbSearch;
)
publicJButtongetJbUpdate(){
ii(jbUpdate==null)
(
jbUpdate-newJButton("修改”);
jbUpdate.setBounds(18o,450,60,30);
)
returnjbUpdate;
)
publicJTablegetTable(){
if(table==null)
(
table=newJTable(ioo,6);
table.setBounds(27o,50,500,600);
)
returntable;
}
publicJLabelgetLblId(){
if(lblld==null)
(
lbnd=newJLabel("编号)
IblldsetBounds(5o,50,50,30);
returnIblld;
}
publicJLabelgetLblBname(){
i(lblBname=null)
(
lblBname=newJLabel("书名");
lblBname.setBounds(50,100,50,30);
1
returnIbIBname;
)
publicJLabelgetLblWname(){
if(lblWname==null)
(
lblWname=newJLabel("作者");
lblWname.setBounds(5O,i5O>50,30);
1
returnibIWname;
)
publicJLabelgetLblnumi(){
ii(lblnumi==null)
(
IblnuminewJLabel("现存量");
lb!numi.setBounds(5O,2oo,50,30);
I
returnIblnumi;
)
publicJLabelgetLblnu1112(){
i((lblnum2==nul)
IblnumznewJLabel("库存量)
lblnum2.setBounds(50,25o,50,30);
)
returnIblnumz;
)
publicJTextFieldgetbld(){
ii(bld==nuli)
(
bld=newJTextField(2o);
bldsetBounds(ioo,50,150.30);
)
returnbld;
)
publicJTextFieldgetBname(){
ii(bname==null)
(
bname=newJTextField(2o);
bname.setBounds(ioo,100,150,30);
)
returnbname;
publicJTextFieldgetWnameQ{
if(wname==null)
wname=newJTextField(2o);
wname.setBounds(ioo,150,150,30);
)
returnwname;
}
publicJTextFieldgetNuini(){
i[(numi==null)
(
numi=newJTextField(2o);
numi.setBounds(ioo,200,150,30);
)
returnnumi:
}
publicJTextFieldgetNum2(){
i(num2==nul)
(
num2=newJlextFieId(2o);
num2.setBounds(ioo,250,150,30);
)
returnnum2;
)
publicJLabelgetLblCbs(){
i(IblCbs-nulI)
(
⑹Cbs=newJLabel("出版社)
IblCbs.setBounds(5o,3oo,50,30);
returnIblCbs;
1
publicJTextFieldgetCbs(){
ii(cbs==null)
(
cbs=newJTextField(20);
cbs.setBounds(ioo,300,150,30);
)
returncbs;
)
publicBook(Stringtitle)
(
super(title);
//JFrameframe=newJFrame();
Containercantainer=this.getContentPane();
this.setDefau.tCloscOperation(JFrame.£X/T_ON_CLOS£):
Imageiconimg=newlmageIcon("F:\\Java\\传习
\\src\\Library\\d5O735fae6cd7b896ie8eafdof2442a7d8330ecc3.jpg");〃这是背景
图片
JLabelimgLabel=newJLabel(img);〃将背景图放在标签里。
thisgetLayeredPane().add(imgLabel,new
Integer(Integer.M/N_V<4L(JE));//注意这里是关键,将背景标签添加到
iframLayeredPane面板里。
imgLabel.setBounds(o,o,img.getIconWidth(),
img.getIconHeight());〃设置背景标签位置
cantainer.setLayout(newBorderLayout());
imgLabelsetLayout(null);
imgLabel.add(getLbIId());
imgLabel.add(getbld());
imgLabel.add(getLblBname());
imgLabel.add(getBname());
imgLabel.add(getLblWnameO);
imgLabcl.addigetWnameO);
imgLabel.addigetLblnumiO);
imgLabcl.add(getNumiO);
imgLabel.addigetLblnumzO);
imgLabel.addigetNumzO);
imgLabel.add(getLblCbsO);
imgLabel.add(getCbsO);
imgLabel.add(getTableO);
imgLabel.addigetJbDelO);
imgLabel.add(getjDelO);
imgLabel.add(getJbAddO):
imgLabel.addigetJbSearch());
imgLabel.addigetJbUpdate());
imgLabel.addigetJabelO);
cantainer.add(imgLabeI,BorderLayout.
((JPanel)cantainer).setOpaque(false);〃注意这里,将内容面板设为
透明。这么LayeredPane面板中背景才能显示山火。
this.setSize(img.getIconWidth(),img.geticonHeight());
myEvent();
this.setVisible(true);
this.setResizable(true);
)
privatevoidmyEvent(){
〃TODOAuto-generatedmethodstub
jbAdd.addActionListener(newActionListener(i
(
publicvoidactionPerformed(ActionEventee)
(
Connectionconn=null;
Statementstm=null;
Stringidi=bldgetText();
Stringnamei=bname.getText();
Stringname2=wname.getText();
Stringni=numi.getlext();
Stringn2=num2.getText();
Stringchubs=cbsgetText();
try(
Class.^rNameC'com.mysqLjdbc.Driver");
connDriverManager.^efConnecnon("jdbc:mysql://localhost:33o6/library","s
a”,"123456");
stm^conn.createStatementO;
Stringsql="insertintobook
vaiues("'+idi+n',",+namei+,"/"+name2+"7"+ni+,M,",+n2+"7"+chubs+'n)";
stm.executeUpdate(sql);
getbId().setText("");
getBname().setText("');
getWname()setText("");
getNumi().setText('");
getNuni2()setText("");
getCbs().setText("");
}catch(ClassNotFoundExceptione)
{
}catch(SQLExceptione){
〃IODOAuto-generatcdcatchblock
e.printStackTrace();
jfinally{//关闭Statement
try{stm.close();
(catch(Exceptione){}
//关闭Connection
try{conn.close();
}catch(Exceptione){}
)
)
1);
jbDeladdActionListener(newActionListener()
(
publicvoidactionPerfbrmed(ActionEventee)
(
Stringid=jDelgetText();
Connectionconn=null;
Statementstm=null;
try{
Class^rNameC'com.mysqLjdbc.Driver");
conn=DriverManager.^efConnecfion("jdbc:mysqI://localhost:33o6/library","
air,ir123456);
//Stringsql="select*frombook
Stringsql="deletefrombookwhereBid=",+id+"'";
stm=conn.createStatement();
stm.executeUpdate(sql);
getjDel().setText(",);
Jcatch(ClassNotFoundExceptione)
(
}catch(SQLExceptione){
//TODOAuto-generatedcatchblock
eprintStackTrace();
}finally{//关闭Statement
try{stm.closeO;
)catch(Exceptione){)
//关闭Connection
try{conn.close();
)catch(Exceptione){)
)
)
});
jbSearch.addActionListener(newActionListener()
publicvoidactionPerfbrmed(ActionEventee)
Stringid=jDel.getText();
Connectionconn=null;
Statementstm=null;
ResultSetrst=null;
try{
Class^rNameCcom.mysqLjdbc.Driver");
conn=DriverManager.^etConnecnon("jdbc:mysql://localhost:33o6/library","s
a”,”123456");
//Stringsg]="select*frombook";
Stringsql="select*frombookwhereBid="'+id+""';
stm=conn.createStatement();
rst=stm.executeQuery(sql);
if(rst.next())
(
getbId().setText(rstgetString("Bid"));
getBname().setText(rst.getString("Bname"));
getWname().setText(rst.getString("Wname"));
getNumi().setText(rst.getString("numi"));
getNuni2().setText(rstgetString("nuni2"));
getCbs().setText(rst.getString("chubs"));
getjDel().setText(
}catch(ClassNotFoundExceptione)
}catch(SQLExceptione){
〃TODOAuto-generatedcatchblock
e.printStackTrace();
Jfinally{//关闭Statement
try{stm.close();
}catch(Exceptione){}
//关闭Connection
try{conn.close();
}catch(Exceptione){}
)
)
));
jbUpdate.addActionListener(newActionListener()
(
publicvoidactionPerformed(ActionEventee)
(
St
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年高职(会计信息管理)财务数据分析试题及答案
- 年产240套家用电器检测自动化设备生产项目可行性研究报告
- 2026年事业单位养老保险试题及答案
- 2026年省考汉语言文学专业行测真题及答案
- 建筑节能改造的租客-房东成本分担僵局
- 2026糖尿病护理个体化康复方案制定课件
- 2026糖尿病常见饮食谣言破解课件
- 饲料厂质量检测规范细则
- 2026高血压运动频率指导课件
- 2026年碳排放核查现场实操考核及答案
- 元模型驱动评估框架-洞察及研究
- 新质生产力:个人发展的新机遇
- 露天采矿汛期安全培训课件
- 湖南省郴州市2024-2025学年高一下学期期末教学质量监测生物试卷(图片版有答案)
- 2025《密码法》基本知识题库(含参考答案)
- 乙型肝炎病毒护理病例分析
- 2024年云南省元阳县民政局公开招聘试题带答案详解
- 福建省龙岩市一级联盟(九校)联考2022-2023学年高一上学期期中考试历史试题
- 2025年中级银行从业资格之《中级个人理财》题库及答案详解【历年真题】
- Axure RP 互联网产品原型设计课件 第11章 设计制作网页原型
- 吕梁市消防救援支队政府专职消防员招录笔试真题2024
评论
0/150
提交评论