Java swing圖書(shū)管理系統(tǒng)4(個(gè)人設(shè)計(jì)思考得出的全功能簡(jiǎn)易原版)


package denglu;
import java.awt.Color;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Vector;
import javax.swing.BorderFactory;
import javax.swing.ButtonGroup;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.JTree;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import javax.swing.table.DefaultTableModel;
import javax.swing.tree.DefaultMutableTreeNode;
import Model.DBUlits;
public class ptjiemian extends JFrame {
public static JButton btn_xiugai, btn_quxiao = null;
public static DefaultTableModel dtm = null;
static JButton JButton1, JButton2, JButton3, JButton4 = null;
static JLabel JLabel1, JLabel2, JLabel3, JLabel4, lb_title, lb_uname,
lb_pwd, lb_name, lb_sex, lb_phone = null;
static JPanel JPanel_mianBan_top, JPanel_mianBan_left_bottom,
JPanel_mianBan_qieHuanYongHu, JPanel_mianBan_JYPHB,
JPanel_mianBan_GRXXXG, JPanel_mianBan_TCXT = null;
static JRadioButton rb1, rb2 = null;
public static JTable tb1 = null;
static JTextField txt_uname, txt_pwd, txt_name, txt_phone = null;
// public static yonghu user_xinxi;
JTree JTree1 = null;// 聲明一個(gè)樹(shù)控件
public ptjiemian(String str) {
this.setTitle("普通用戶登錄后的主界面");
this.setLayout(null);
this.setSize(700, 700);
this.setLocationRelativeTo(null);
JPanel_mianBan_top = new JPanel(null);
JButton1 = new JButton("切換用戶", new ImageIcon("img//a.jpg"));
JButton1.setVerticalTextPosition(JButton.BOTTOM);
// TOP
JButton1.setHorizontalTextPosition(JButton.CENTER);
JButton1.setBounds(100, 0, 120, 130);
JButton2 = new JButton("借閱排行榜", new ImageIcon("img//b.jpg"));
JButton2.setVerticalTextPosition(JButton.BOTTOM);
JButton2.setHorizontalTextPosition(JButton.CENTER);
JButton2.setBounds(250, 0, 120, 130);
JButton3 = new JButton("個(gè)人信息管理", new ImageIcon("img//c.jpg"));
JButton3.setVerticalTextPosition(JButton.BOTTOM);
JButton3.setHorizontalTextPosition(JButton.CENTER);
JButton3.setBounds(400, 0, 120, 130);
JButton4 = new JButton("退出系統(tǒng)", new ImageIcon("img//d.jpg"));
JButton4.setVerticalTextPosition(JButton.BOTTOM);
JButton4.setHorizontalTextPosition(JButton.CENTER);
JButton4.setBounds(550, 0, 120, 130);
JPanel_mianBan_top.add(JButton1);
JPanel_mianBan_top.add(JButton2);
JPanel_mianBan_top.add(JButton3);
JPanel_mianBan_top.add(JButton4);
JPanel_mianBan_left_bottom = new JPanel(null);
JPanel_mianBan_qieHuanYongHu = new JPanel(null);
JPanel_mianBan_JYPHB = new JPanel(null);
JPanel_mianBan_GRXXXG = new JPanel(null);
JPanel_mianBan_TCXT = new JPanel(null);
/* 給所有的JTree控件設(shè)置統(tǒng)一的圖標(biāo), 所以一定要在實(shí)例化JTree之前使用,否則沒(méi)有效果 */
// UIManager.put("Tree.collapsedIcon", new ImageIcon("img//1.png"));//
// 默認(rèn)打開(kāi)圖標(biāo)
//
// UIManager.put("Tree.expandedIcon", new ImageIcon("img//2.png"));//
// 打開(kāi)后圖標(biāo)
//
// UIManager.put("Tree.openIcon", new ImageIcon("img//3.png"));// 打開(kāi)
//
// UIManager.put("Tree.closedIcon", new ImageIcon("img//4.png"));// 關(guān)閉
//
// UIManager.put("Tree.leafIcon", new ImageIcon("img//5.png"));// 打開(kāi)后小圖標(biāo)
//
// DefaultMutableTreeNode dmtn1 = new DefaultMutableTreeNode("菜單列表");
//
// DefaultMutableTreeNode dmtn_yonghu = new
// DefaultMutableTreeNode("用戶管理");
//
// // Default(默認(rèn)值)mutable(易變的)Tree(樹(shù))node(節(jié)點(diǎn))
// DefaultMutableTreeNode dmtn_tuShu = new
// DefaultMutableTreeNode("圖書(shū)管理");
// DefaultMutableTreeNode dmtn_tuShuLeiXing = new
// DefaultMutableTreeNode(
// "圖書(shū)類(lèi)型管理");
//
// DefaultMutableTreeNode dmtn_jieyue = new
// DefaultMutableTreeNode("借閱管理");
// dmtn1.add(dmtn_yonghu);
// dmtn1.add(dmtn_tuShu);
// dmtn1.add(dmtn_tuShuLeiXing);
// dmtn1.add(dmtn_jieyue);
// JTree1 = new JTree(dmtn1);
//
// JTree1.addTreeSelectionListener(new shijian_zc(this));
//
// JTree1.setBounds(10, 10, 150, 300);
//
// JPanel_mianBan_left_bottom.add(JTree1);
JLabel1 = new JLabel();
JLabel2 = new JLabel();
JLabel3 = new JLabel();
JLabel4 = new JLabel();
JLabel1.setBounds(0, 0, 534, 564);
/* setBounds(x,y,size_x,size_y) */
JLabel2.setBounds(0, 0, 534, 564);
JLabel3.setBounds(0, 0, 534, 564);
JLabel4.setBounds(0, 0, 534, 564);
// JLabel1.setIcon(new ImageIcon("img//11.png"));
// JLabel2.setIcon(new ImageIcon("img//22.png"));
//
// JLabel3.setIcon(new ImageIcon("img//33.png"));
//
// JLabel4.setIcon(new ImageIcon("img//44.png"));
JPanel_mianBan_qieHuanYongHu.add(JLabel1);
JPanel_mianBan_JYPHB.add(JLabel2);
JPanel_mianBan_GRXXXG.add(JLabel3);
JPanel_mianBan_TCXT.add(JLabel4);
JButton1.addActionListener(new shijian_zc(this));
JButton2.addActionListener(new shijian_zc(this));
JButton3.addActionListener(new shijian_zc(this));
JButton4.addActionListener(new shijian_zc(this));
JPanel_mianBan_top.setBounds(0, 0, 700, 130);
JPanel_mianBan_left_bottom.setBounds(0, 130, 150, 600);
/*
* 執(zhí)行順序要注意,若"個(gè)人信息修改"下面的內(nèi)容寫(xiě)在JPanel_mianBan_left_bottom.setBounds(0, 130,
* 150, 600); 上面上面就會(huì)主(默認(rèn))界面就會(huì)有,反之只有JPanel_mianBan_left_bottom有,
* 可以用注釋或打印,彈出語(yǔ)句來(lái)判斷是否有錯(cuò),錯(cuò)在哪里
*/
lb_title = new JLabel("個(gè)人信息修改");
lb_title.setFont(new Font("微軟雅黑", Font.BOLD, 30));
lb_title.setBounds(120, 40, 200, 30);
// JPanel_mianBan_GRXXXG.add(lb_title);
lb_uname = new JLabel("用戶名:");
lb_pwd = new JLabel("密碼:");
lb_name = new JLabel("真實(shí)姓名:");
lb_sex = new JLabel("性別:");
lb_phone = new JLabel("電話:");
lb_uname.setBounds(100, 90, 80, 30);
lb_pwd.setBounds(100, 130, 80, 30);
lb_name.setBounds(100, 170, 80, 30);
lb_sex.setBounds(100, 210, 80, 30);
lb_phone.setBounds(100, 250, 80, 30);
JPanel_mianBan_GRXXXG.add(lb_uname);
JPanel_mianBan_GRXXXG.add(lb_pwd);
JPanel_mianBan_GRXXXG.add(lb_name);
JPanel_mianBan_GRXXXG.add(lb_sex);
JPanel_mianBan_GRXXXG.add(lb_phone);
JPanel_mianBan_GRXXXG.add(lb_title);
txt_pwd = new JTextField();
txt_name = new JTextField();
txt_phone = new JTextField();
txt_uname = new JTextField();
txt_uname.setEditable(false);
btn_xiugai = new JButton("修改");
btn_xiugai.addActionListener(new shijian_zc(this));
btn_quxiao = new JButton("取消");
btn_xiugai.setBounds(120, 290, 70, 30);
btn_quxiao.setBounds(240, 290, 70, 30);
txt_uname.setBounds(180, 90, 120, 30);
txt_pwd.setBounds(180, 130, 120, 30);
txt_name.setBounds(180, 170, 120, 30);
txt_phone.setBounds(180, 250, 120, 30);
rb1 = new JRadioButton("男", true);
rb2 = new JRadioButton("女", false);
ButtonGroup bg = new ButtonGroup();
bg.add(rb1);
bg.add(rb2);
rb1.setBounds(180, 210, 60, 30);
rb2.setBounds(250, 210, 60, 30);
JPanel_mianBan_GRXXXG.add(txt_uname);
JPanel_mianBan_GRXXXG.add(txt_pwd);
JPanel_mianBan_GRXXXG.add(txt_name);
JPanel_mianBan_GRXXXG.add(rb1);
JPanel_mianBan_GRXXXG.add(rb2);
JPanel_mianBan_GRXXXG.add(txt_phone);
JPanel_mianBan_GRXXXG.add(btn_quxiao);
JPanel_mianBan_GRXXXG.add(btn_xiugai);
JPanel_mianBan_qieHuanYongHu.setBounds(150, 130, 550, 600);
// JPanel_mianBan_JYPHB.setBounds(150, 130, 550, 600);
JPanel_mianBan_GRXXXG.setBounds(150, 130, 550, 600);
JPanel_mianBan_TCXT.setBounds(150, 130, 550, 600);
JPanel_mianBan_top.setBorder(BorderFactory.createLineBorder(Color.red));
JPanel_mianBan_left_bottom.setBorder(BorderFactory
.createLineBorder(Color.green));
JPanel_mianBan_qieHuanYongHu.setBorder(BorderFactory
.createLineBorder(Color.blue));
JPanel_mianBan_JYPHB.setBorder(BorderFactory
.createLineBorder(Color.red));
JPanel_mianBan_GRXXXG.setBorder(BorderFactory
.createLineBorder(Color.green));
JPanel_mianBan_TCXT.setBorder(BorderFactory
.createLineBorder(Color.blue));
if (JPanel_mianBan_JYPHB != null) {
this.remove(JPanel_mianBan_JYPHB);
}
Vector<Object> v_head = new Vector<Object>();
v_head.add("名次");
v_head.add("圖書(shū)名稱(chēng)");
v_head.add("借閱數(shù)量");
String sql = "select * from jieyue a inner join tushu b on a.ts_id=b.ts_id order by a.jnum desc";
Vector<Vector<Object>> v_body = new Vector<Vector<Object>>();
ResultSet res = DBUlits.select(sql);
int num = 1;
try {
while (res.next()) {
Vector<Object> v = new Vector<Object>();
v.add(num++);
v.add(res.getString("ts_name"));
v.add(res.getInt("jnum"));
v_body.add(v);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
dtm = new DefaultTableModel(v_body, v_head);
// 顯示表格標(biāo)題和內(nèi)容,再isCellEditable上面,isCellEditable才有效
dtm = new DefaultTableModel(v_body, v_head) {
@Override
public boolean isCellEditable(int a, int b) {
return false;
}
};
tb1 = new JTable(dtm);
// tb1.addMouseListener(new shijian_zc(this));
// dtm = new DefaultTableModel(v_body, v_head);
// tb1 = new JTable(dtm);
JScrollPane jsp = new JScrollPane(tb1);
jsp.setBounds(0, 0, 500, 500);
JPanel_mianBan_JYPHB = new JPanel();
JPanel_mianBan_JYPHB.add(jsp);
JPanel_mianBan_JYPHB.setBorder(BorderFactory
.createLineBorder(Color.green));
// jp5.add(new JLabel("ssssssssssssssssssssssssss"));
JPanel_mianBan_JYPHB.setBounds(150, 130, 550, 600);
// // tb1.addMouseListener(new shijian_zc(this));
this.add(JPanel_mianBan_JYPHB);
this.add(JPanel_mianBan_top);
this.add(JPanel_mianBan_left_bottom);
this.add(JPanel_mianBan_qieHuanYongHu);
this.add(JPanel_mianBan_JYPHB);
this.add(JPanel_mianBan_GRXXXG);
this.add(JPanel_mianBan_TCXT);
// txt_uname.setText(denglu.user_xinxi.getYh_uname());
// txt_pwd.setText(denglu.user_xinxi.getYh_pwd());
// txt_phone.setText(denglu.user_xinxi.getYh_phone());
// txt_name.setText(denglu.user_xinxi.getYh_name());
// String sql = "select * from yonghu where yh_uname='" + 1 + "'";
// String sql = "select * from yonghu where yh_uname='"
// + denglu.user_xinxi + "'";
String sql1 = "select * from yonghu where yh_uname='" + str + "'";
ResultSet res1 = DBUtils.Select(sql1);
try {
while (res1.next()) {
// JOptionPane.showMessageDialog(null,
// "res.next()查到內(nèi)容了");
txt_uname.setText(res1.getString("yh_uname"));
txt_pwd.setText(res1.getString("yh_pwd"));
txt_phone.setText(res1.getString("yh_phone"));
txt_name.setText(res1.getString("yh_name"));
String sex = res1.getString("yh_sex");
if (sex.equals("男")) {
rb1.setSelected(true);
rb2.setSelected(false);
} else if (sex.equals("女")) {
rb2.setSelected(true);
rb1.setSelected(false);
}
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
}
class shijian_zc implements ActionListener, TreeSelectionListener,
MouseListener {
public ptjiemian dd = null;
public shijian_zc(ptjiemian d) {
dd = d;
}
@Override
public void actionPerformed(ActionEvent arg0) {
String str = arg0.getActionCommand();
// if(str . equals("切換用戶")){
// //切換用戶,就實(shí)例化登錄窗體,將當(dāng)前窗體隱藏掉即可
// new deng1u();
// //ss. setvisible(true);
// zz. setVisible(false);
// }else. if(str . equals("借閱排行榜" )){
// zz.jp5. setVisible(true);
// zz. jieyue load();
// zz. jp3. setvisible(false);
// zz. jp4. setVisible(false);
// zz .jp6.setVisible(false);
// zz.jp7.setVisible(false);
// }else if(str . equals("個(gè)人信息管理")){
if (arg0.getSource() == dd.JButton1) {
/* qieHuanYongHu:切換用戶,JYPHB:JieYuePaiHanBang,借閱排行榜 */
new denglu();
} else if (str.equals("借閱排行榜")) {
dd.JPanel_mianBan_JYPHB.setVisible(true);
// 讓JPanel_mianBan_JYPHB的區(qū)域顯示,其他的區(qū)域隱藏
dd.JPanel_mianBan_qieHuanYongHu.setVisible(false);
dd.JPanel_mianBan_GRXXXG.setVisible(false);
dd.JPanel_mianBan_TCXT.setVisible(false);
} else if (arg0.getSource() == dd.JButton3) {
dd.JPanel_mianBan_GRXXXG.setVisible(true);
// 讓JPanel_mianBan_GRXXXG的區(qū)域顯示,其他的區(qū)域隱藏
dd.JPanel_mianBan_JYPHB.setVisible(false);
dd.JPanel_mianBan_qieHuanYongHu.setVisible(false);
dd.JPanel_mianBan_TCXT.setVisible(false);
} else if (arg0.getSource() == dd.JButton4) {
System.exit(0);
// dd.JPanel_mianBan_TCXT.setVisible(true);
// // 讓JPanel_mianBan_TCXT的區(qū)域顯示,其他的區(qū)域隱藏
//
// dd.JPanel_mianBan_JYPHB.setVisible(false);
//
// dd.JPanel_mianBan_GRXXXG.setVisible(false);
//
// dd.JPanel_mianBan_qieHuanYongHu.setVisible(false);
} else if (arg0.getActionCommand().equals("修改")) {
// 得到用戶的信息
String uname = dd.txt_uname.getText();
String phone = dd.txt_phone.getText();
String name = dd.txt_name.getText();
String pwd = dd.txt_pwd.getText();
String sex = "男";
if (dd.rb2.isSelected()) {
sex = "女";
}
String sql = "update yonghu set yh_pwd='" + pwd + "', yh_name='"
+ name + "' , yh_phone= ' " + phone + "' , yh_sex='" + sex
+ "' where yh_uname='" + uname + "'";
if (DBUtils.ZSG(sql)) {
JOptionPane.showMessageDialog(null, "個(gè)人信息更新成功");
return;
} else {
JOptionPane.showMessageDialog(null, "出現(xiàn)了未知的錯(cuò)誤,請(qǐng)重試");
}
}
}
// 點(diǎn)擊Tree中的子節(jié)點(diǎn)會(huì)執(zhí)行的方法
@Override
public void mouseClicked(MouseEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void mouseEntered(MouseEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void mouseExited(MouseEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void mousePressed(MouseEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void mouseReleased(MouseEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void valueChanged(TreeSelectionEvent arg0) {
// TODO Auto-generated method stub
// 獲取最后一次點(diǎn)擊的那個(gè)節(jié)點(diǎn)
DefaultMutableTreeNode str = (DefaultMutableTreeNode) dd.JTree1
.getLastSelectedPathComponent();
// JOptionPane.showMessageDialog(null, str.toString());
if (str.toString().equals("用戶管理")) {
new yonghuguanli();
} else if (str.toString().equals("圖書(shū)管理")) {
new tuShuGuanLi();
// dd.setVisible(false);
} else if (str.toString().equals("圖書(shū)類(lèi)型管理")) {
new tuShuLeiXingGuanLi();
} else if (str.toString().equals("借閱管理")) {
new jieyue();
}
}
}



package denglu;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Vector;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.table.DefaultTableModel;
import Model.DBUlits;
class shijian_tushu implements MouseListener, ActionListener {
public tuShuGuanLi tushu = null;
public shijian_tushu(tuShuGuanLi tuShuGuanLi) {
this.tushu = tuShuGuanLi;
}
@Override
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
String str = arg0.getActionCommand();
if (str.equals("查詢")) {
String tid = tushu.txt_tid.getText();
String uname = tushu.txt_tname.getText();
tushu.tushu_load(tid, uname);
} else if (str.equals("增加圖書(shū)")) {
// String tid=zz.txt_tid1.getText();
String tname = tushu.txt_tname1.getText();
String tnu = tushu.txt_num.getText();
int typename = tushu.arr_type.get(tushu.com_type.getSelectedIndex());
String tchubanshe = tushu.txt_tchubanshe.getText();
String sql = "insert into tushu(ts_name,ts_shuliang,ts_leixingid,"
+ "ts_chubanshe) "
+ "values('"
+ tname
+ "',"
+ tnu
+ ","
+ typename
+ ",'"
+ tchubanshe + "')";
if (DBUlits.zsg(sql)) {
tushu.tushu_load(null, null);
JOptionPane.showMessageDialog(null, "圖書(shū)增加成功!");
} else {
JOptionPane.showMessageDialog(null, "增加失敗,請(qǐng)重試");
}
} else if (str.equals("修改圖書(shū)")) {
String tid = tushu.txt_tid1.getText();
String tname = tushu.txt_tname1.getText();
String tnu = tushu.txt_num.getText();
int typename = tushu.arr_type.get(tushu.com_type.getSelectedIndex());
String tchubanshe = tushu.txt_tchubanshe.getText();
// String
// sql="insert into tushu values('"+tname+"','"+tnu+"',"+typename+",'"+tchubanshe+"')";
String sql = "update tushu set? ts_name='" + tname
+ "',ts_shuliang='" + tnu + "',ts_leixingid=" + typename
+ ",ts_chubanshe='" + tchubanshe + "' where ts_id='" + tid
+ "'";
if (DBUlits.zsg(sql)) {
tushu.tushu_load(null, null);
JOptionPane.showMessageDialog(null, "修改增加成功!");
} else {
JOptionPane.showMessageDialog(null, "修改失敗,請(qǐng)重試");
}
} else if (str.equals("清空")) {
tushu.txt_tid1.setText("");
tushu.txt_tname1.setText("");
tushu.txt_num.setText("");
tushu.txt_tchubanshe.setText("");
tushu.com_type.setSelectedIndex(1);
}
}
@Override
public void mouseClicked(MouseEvent arg0) {
// TODO Auto-generated method stub
// 雙擊事件
if (arg0.getClickCount() == 2) {
// 選中當(dāng)前行
int row = tushu.jt1.getSelectedRow();
tushu.txt_tid1.setText(tushu.jt1.getValueAt(row, 0).toString());
tushu.txt_tname1.setText(tushu.jt1.getValueAt(row, 1).toString());
tushu.txt_num.setText(tushu.jt1.getValueAt(row, 2).toString());
tushu.txt_tchubanshe.setText(tushu.jt1.getValueAt(row, 4).toString());
// 先獲取到表格的內(nèi)容
String type = tushu.jt1.getValueAt(row, 3).toString();
// 給下拉框賦值
tushu.com_type.setSelectedItem(type);
} else if (arg0.isMetaDown()) {
int num = JOptionPane.showConfirmDialog(null, "確定要?jiǎng)h除這條信息嗎?");
if (num == 0) {
int row = tushu.jt1.getSelectedRow();
String tid = tushu.jt1.getValueAt(row, 0).toString();
String sql = "delete tushu where ts_id='" + tid + "'";
if (DBUlits.zsg(sql)) {
tushu.tushu_load(null, null);
JOptionPane.showMessageDialog(null, "圖書(shū)刪除成功!");
} else {
JOptionPane.showMessageDialog(null, "刪除失敗,請(qǐng)重試");
}
}
}
}
@Override
public void mouseEntered(MouseEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void mouseExited(MouseEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void mousePressed(MouseEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void mouseReleased(MouseEvent arg0) {
// TODO Auto-generated method stub
}
}
public class tuShuGuanLi extends JFrame {
public static ArrayList<Integer> arr_type = null;
public static JButton btn_select, btn_insert, btn_update,
btn_qingkong = null;
public static JComboBox com_type = null;
public static DefaultTableModel dtm = null;
public static JPanel jp1, jp2, jp3 = null;
public static JTable jt1 = null;
public static JLabel lb_tid, lb_tname = null;
public static JLabel lb_tid1, lb_tname1, lb_tnum, lb_typename,
lb_tchubanshe = null;
public static JTextField txt_tid, txt_tname = null;
public static JTextField txt_tid1, txt_tname1, txt_num,
txt_tchubanshe = null;
// 現(xiàn)在是給左側(cè)初始化數(shù)據(jù)
public tuShuGuanLi() {
this.setTitle("圖書(shū)管理");
this.setLayout(null);
this.setSize(710, 550);
this.setLocationRelativeTo(null);
jp2 = new JPanel();
jp2.setBorder(BorderFactory.createLineBorder(Color.gray));
jp2.setLayout(null);
jp2.setBounds(470, 10, 200, 150);
lb_tid = new JLabel("圖書(shū)編號(hào):");
lb_tname = new JLabel("圖書(shū)名稱(chēng):");
lb_tid.setBounds(10, 10, 70, 30);
lb_tname.setBounds(10, 50, 70, 30);
txt_tid = new JTextField();
txt_tname = new JTextField();
txt_tid.setBounds(80, 10, 100, 30);
txt_tname.setBounds(85, 50, 100, 30);
btn_select = new JButton("查詢");
btn_select.setBounds(30, 90, 100, 30);
jp2.add(lb_tid);
jp2.add(lb_tname);
jp2.add(txt_tid);
jp2.add(txt_tname);
jp2.add(btn_select);
jp3 = new JPanel();
jp3.setBorder(BorderFactory.createLineBorder(Color.gray));
jp3.setLayout(null);
jp3.setBounds(470, 170, 200, 300);
lb_tid1 = new JLabel("圖書(shū)編號(hào):");
lb_tname1 = new JLabel("圖書(shū)名稱(chēng):");
lb_tnum = new JLabel("圖書(shū)數(shù)量:");
lb_typename = new JLabel("圖書(shū)類(lèi)型:");
lb_tchubanshe = new JLabel("出版社:");
lb_tid1.setBounds(10, 10, 70, 30);
lb_tname1.setBounds(10, 50, 70, 30);
lb_tnum.setBounds(10, 90, 70, 30);
lb_typename.setBounds(10, 130, 70, 30);
lb_tchubanshe.setBounds(10, 170, 70, 30);
jp3.add(lb_tid1);
jp3.add(lb_tname1);
jp3.add(lb_tnum);
jp3.add(lb_typename);
jp3.add(lb_tchubanshe);
txt_tid1 = new JTextField();
txt_tid1.setEditable(false);// 編號(hào)id不可改,所以用上false等
txt_tname1 = new JTextField();
txt_num = new JTextField();
txt_tchubanshe = new JTextField();
txt_tid1.setBounds(80, 10, 100, 30);
txt_tname1.setBounds(80, 50, 100, 30);
txt_num.setBounds(80, 90, 100, 30);
txt_tchubanshe.setBounds(80, 170, 100, 30);
com_type = new JComboBox();
String sql = "select * from ts_type";
ResultSet res_type = DBUlits.select(sql);
arr_type = new ArrayList<Integer>();
try {
while (res_type.next()) {
com_type.addItem(res_type.getObject(2));
arr_type.add(res_type.getInt(1));
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
com_type.setBounds(80, 130, 100, 30);
btn_insert = new JButton("增加圖書(shū)");
btn_insert.setBounds(10, 210, 80, 30);
btn_update = new JButton("修改圖書(shū)");
btn_update.setBounds(95, 210, 80, 30);
btn_qingkong = new JButton("清空");
btn_qingkong.setBounds(10, 250, 160, 30);
btn_select.addActionListener(new shijian_tushu(this));
btn_insert.addActionListener(new shijian_tushu(this));
btn_update.addActionListener(new shijian_tushu(this));
btn_qingkong.addActionListener(new shijian_tushu(this));
jp3.add(txt_tid1);
jp3.add(txt_tname1);
jp3.add(txt_num);
jp3.add(com_type);
jp3.add(txt_tchubanshe);
jp3.add(btn_insert);
jp3.add(btn_update);
jp3.add(btn_qingkong);
this.add(jp2);
this.add(jp3);
this.setVisible(true);
tushu_load(null, null);
}
// 聲明初始化數(shù)據(jù)的方法
public void tushu_load(String tid, String tname) {
if (jp1 != null) {
this.remove(jp1);
}
String sql = "select * from tushu a inner join ts_type b on"
+ " a.ts_leixingid=b.ts_leixingid where 1=1";
if (tid != null && tid.length() > 0) {
sql += " and ts_id='" + tid + "'";
}
if (tname != null && tname.length() > 0) {
sql += " and ts_name like'%" + tname + "%'";
}
Vector<Object> v_head = new Vector<Object>();
v_head.add("圖書(shū)編號(hào)");
v_head.add("圖書(shū)名稱(chēng)");
v_head.add("圖書(shū)數(shù)量");
v_head.add("圖書(shū)類(lèi)型");
v_head.add("圖書(shū)出版社");
Vector<Vector<Object>> v_body = new Vector<Vector<Object>>();
ResultSet res = DBUlits.select(sql);
try {
while (res.next()) {
Vector<Object> v = new Vector<Object>();
v.add(res.getInt("ts_id"));
v.add(res.getString("ts_name"));
v.add(res.getInt("ts_shuliang"));
v.add(res.getString("ts_leixing"));
v.add(res.getString("ts_chubanshe"));
v_body.add(v);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// 裝載到容器中
dtm = new DefaultTableModel(v_body, v_head) {
@Override
public boolean isCellEditable(int a, int b) {
return false;
}
};
jt1 = new JTable(dtm);
jt1.addMouseListener(new shijian_tushu(this));
JScrollPane jsp = new JScrollPane(jt1);
jsp.setBounds(0, 0, 450, 500);
jp1 = new JPanel();
jp1.setLayout(null);
jp1.setBounds(10, 10, 450, 500);
jp1.add(jsp);
this.add(jp1);
}
}
