本程序以java为设计语言,能够实现一个简单的图书管理系统,可以实现简单的增加图书,查询图书,删除图书的功能,其中用到数据库的连接,窗体的布局管理。
本程序有以下几个功能函数组成
所有模块都在名为bookmanager的包中
1:主函数mainframe。java
2:增加模块 adddialog.java
3:查询模块 searchdialog。java
4:查询结果模块 searchresult。java
5:书本类book.java
6:数据库连接类 dbcon.java
1.主界面
2.添加模块
3.查询模块
4.输出模块
5.
6.
源程序如下
1.mainframe.java
package bookmanager;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
import java.awt。*;
import java。awt。event。*;
import java。sql。Connection;
import java。sql。PreparedStatement;
import java。sql。ResultSet;
import java。sql.SQLException;
import java.util。LinkedList;
public class mainframe extends JFrame implements ActionListener{
private JToolBar tb;
String []btntitle={”增加”,”查询”,”删除”,”退出”};
String []tabeltitle={"图书编号","书名",”定价”,”出版社”};
JButton btn[]=new JButton[4];
JTable table;
DefaultTableModel model;
public mainframe(){
super(”图书管理系统”);
//初始化各个按钮
tb=new JToolBar("工具栏”);
for(int i=0;i〈btntitle。length;i++){
btn[i]=new JButton(btntitle数据库简单吗[i]);
btn[i].addActionListener(this);
tb.add(btn[i]);
}
//创建表模型
model=new DefaultTableModel(tabeltitle,10);
table=new JTable(model);
//设定单元格的高度
table.setRowHeight(25);
add(tb,BorderLayout。NORTH );
add(new JScrollPane(table),BorderLayout。CENTER );
setSize(900,600);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE );
setLocation(100,30);
init();
}
public void actionPerformed(ActionEvent e){
mainframe m=new mainframe();
Object Source();
{
if(o==btn[0]){
adddialog ad=new adddialog(m,25,25);
init();
}
if(o==btn[1]){
searchdialog sd=new searchdialog(m,25,25);
sd.dialog。setVisible(true);
init();
}
if(o==btn[2]){
int result=JOptionPane。showConfirmDialog(null,"确实要删除该条图书信息吗?",”确认",JOptionPane。YES_NO_OPTION ,JOptionPane。QUESTION_MESSAGE );
if(result==0){
Connection con=dbcon.getconnectin();
Object ob=model。getValueAt(table.getSelectedRow(),0);
dbcon。delete(con,ob);
init();
}
else {
return ;
}
}
if(o==btn[3]){
System.exit(0);
}
}
}
public void init(){
Connection con=dbcon.getconnectin();
LinkedList list=null;
try {
PreparedStatement stmt=con.prepareStatement(”select * from book");
ResultSet uteQuery();
list=new LinkedList();
while(rs。next()){
String String(1);
String String(2);
String String(3);
String String(4);
book b=new book(id,name,Float.valueOf(price),publish);
list。add(b);
}
model。setRowCount(0);
for(int i=0;i〈list.size();i++){
book b=(book)list。get(i);
Object []str={b。getid(),b。getname(),b。getprice(),b。getpublish()};
model。addRow(str);
}
} catch (SQLException e) {
// TODO Auto—generated catch block
e。printStackTrace();
}
}
public static void main(String args[]){
new mainframe().show();
}
}
*********************************************************
*********************************************************
2。Adddialog。java添加模块
package bookmanager;
import java.awt。*;
import java.awt。event。*;
import java。util.LinkedList;
import javax.swing。*;
public class adddialog implements ActionListener {
JLabel label[]=new JLabel[4];
JTextField txt[]=new JTextField[4];
String [] ltitle={"图书编号”,”图书名称”,"单 价”,"出 版 社”};
String []btitle={"上一个",”下一个”,”确 定","取 消”};
JButton btn[]=new JButton[4];
JDialog dialog;
JPanel p;
LinkedList list;
public adddialog(JFrame f,int x,int y){
dialog=new JDialog(f,”增加”,true);
dialog。setLocation(x,y);
p=new JPanel();
list=new LinkedList();
// p.setBorder(BorderFactory。createTitledBorder("请选择操作"));
// p.d ));
// p。ateBevelBorder(0, d , Color。green ));
p.setBorder(BorderFactory。createBevelBorder(0, Color。red , , Color。blue , llow ));
for(int i=0;i〈ltitle.length ;i++){
label[i]=new JLabel(ltitle[i]);
label[i]。setFont(new Font("宋体”,Font.PLAIN ,18));
txt[i]=new JTextField();
btn[i]=new JButton(btitle[i]);
btn[i]。addActionListener(this);
btn[i]。setFont(new Font("幼圆",Font。PLAIN ,15));
dialog.add(label[i]);
dialog.add(txt[i]);
dialog.add(btn[i]);
}
dialog。setLayout(null);
p.setBounds(10,150,310,160);
p.setBackground(Color。green );
label[0]。setBounds(10,10,90,25);txt[0]。setBounds(110,10,200,25);
label[1]。setBounds(10,45,90,25);txt[1]。setBounds(110,45,200,25);
label[2].setBounds(10,80,90,25);txt[2].setBounds(110,80,200,25);
label[3]。setBounds(10,115,90,25);txt[3].setBounds(110,115,200,25);
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论