数据库系统原理实验五代码
ackage com.HPioneer.util;
import java.sql.DriverManager;
import com.mysql.jdbc.Connection;
public class DbUtil {
//也可以这样
//private String dbUrl = "jdbc:mysql:///db_book";
private String dbUrl = "jdbc:mysql://localhost:3306/db_book";
private String dbUserName = "root";
private String dbPassword = "123456";
private String jdbcName = "com.mysql.jdbc.Driver";
/**
* 获取数据库连接
* @return
* @throws Exception
*/
public Connection getCon()throws Exception{
Class.forName(jdbcName);
Connection con = (Connection) DriverManager.getConnection(dbUrl,dbUserName,dbPassword);//链接数据库
return con;
}
/**
* 关闭数据库连接
* @param con
* @throws Exception
*/
public void closeCon (java.sql.Connection con)throws Exception {
if(con!=null){
con.close();
}
}
/**
*
* @param args
*/
public static void main(String[] args) {
DbUtil dbUtil = new DbUtil();
try {
dbUtil.getCon();
System.out.println("数据库连接成功");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace(); //在命令行打印异常信息在程序中出错的位置及原因。
System.out.println("数据库连接");
}
}
}
package com.HPioneer.util;
import org.junit.Test;
import com.mysql.jdbc.StringUtils;
/**
* 字符串工具类
* @author H_Pioneer
*
*/
public class StringUtil {
/**
* 判断是否为空
* @param str
* @return
*/
public static boolean isEmpty(String str){
if(str==null||"".equals(str.trim())){
return true;
}else{
return false;
}
}
/**
* 判断不为空
* @param str
* @return
*/
public static boolean isNotEmpty(String str){
if(str!=null&&!"".equals(str.trim())){
return true;
}else{
return false;
}
}
}
MainFrm.java
package com.HPioneer.view;
import java.awt.BorderLayout;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JMenuBar;
import javax.swing.JMenu;
import java.awt.GridLayout;
import javax.swing.SpringLayout;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.ImageIcon;
import javax.swing.GroupLayout;
import javax.swing.GroupLayout.Alignment;
import javax.swing.JDesktopPane;
import java.awt.Color;
import java.awt.SystemColor;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
public class MainFrm extends JFrame {
private JPanel contentPane;
private JDesktopPane table = null;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
MainFrm frame = new MainFrm();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public MainFrm() {
setTitle("图书管理主界面");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
JMenuBar menuBar = new JMenuBar();
setJMenuBar(menuBar);
JMenu menu = new JMenu("基本数据维护");
menu.setIcon(new ImageIcon(MainFrm.class.getResource("/images/base.png")));
menuBar.add(menu);
JMenu mnNewMenu = new JMenu("图书类别管理");
mnNewMenu.setIcon(new ImageIcon(MainFrm.class.getResource("/images/bookTypeManager.png")));
menu.add(mnNewMenu);
JMenuItem menuItem = new JMenuItem("图书类别添加");
menuItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
BookTypeAddInterFrm bookTypeAddInterFrm = new BookTypeAddInterFrm();
bookTypeAddInterFrm.setVisible(true);
table.add(bookTypeAddInterFrm);
}
});
menuItem.setIcon(new ImageIcon(MainFrm.class.getResource("/images/add.png")));
mnNewMenu.add(menuItem);
JMenuItem menuItem_2 = new JMenuItem("图书类别维护");
menuItem_2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
BookTypeManagerInterFrm bookTypeManagerInterFrm = new BookTypeManagerInterFrm();
bookTypeManagerInterFrm.setVisible(true);
table.add(bookTypeManagerInterFrm);
}
});
menuItem_2.setIcon(new ImageIcon(MainFrm.class.getResource("/images/edit.png")));
mnNewMenu.add(menuItem_2);
JMenu mnNewMenu_1 = new JMenu("图书管理");
mnNewMenu_1.setIcon(new ImageIcon(MainFrm.class.getResource("/images/bookManager.png")));
menu.add(mnNewMenu_1);
JMenuItem menuItem_1 = new JMenuItem("图书添加");
menuItem_1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
BookAddInterFrm bookAddInterFrm = new BookAddInterFrm();
bookAddInterFrm.setVisible(true);
table.add(bookAddInterFrm);
}
});
menuItem_1.setIcon(new ImageIcon(MainFrm.class.getResource("/images/add.png")));
mnNewMenu_1.add(menuItem_1);
JMenuItem mntmNewMenuItem = new JMenuItem("图书维护");
mntmNewMenuItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
BookManageInterFrm bookManagerInterFrm = new BookManageInterFrm();
bookManagerInterFrm.setVisible(true);
table.add(bookManagerInterFrm);
}
});
mntmNewMenuItem.setIcon(new ImageIcon(MainFrm.class.getResource("/images/edit.png")));
mnNewMenu_1.add(mntmNewMenuItem);
JMenuItem menuItem_3 = new JMenuItem("安全退出");
menuItem_3.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
int result =JOptionPane.showConfirmDialog(null,"是否退出系统");
}
});
menuItem_3.setIcon(new ImageIcon(MainFrm.class.getResource("/images/exit.png")));
menu.add(menuItem_3);
JMenu menu_1 = new JMenu("关于我们");
menu_1.setIcon(new ImageIcon(MainFrm.class.getResource("/images/about.png")));
menuBar.add(menu_1);
JMenuItem mntmhpioneer = new JMenuItem("关于HPioneer");
mntmhpioneer.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
HPioneer1234InterFrm hPioneer1234InterFrm = new HPioneer1234InterFrm();
hPioneer1234InterFrm.setVisible(true);
table.add(hPioneer1234InterFrm);
}
});
mntmhpioneer.setIcon(new ImageIcon(MainFrm.class.getResource("/images/userName.png")));
menu_1.add(mntmhpioneer);
contentPane = new JPanel();
contentPane.setForeground(Color.BLUE);
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(new BorderLayout(0, 0));
table = new JDesktopPane();
table.setBackground(Color.WHITE);
contentPane.add(table);
//设置Jrame最大化
this.setExtendedState(JFrame.MAXIMIZED_BOTH);
}
}
增BookAddInterFrm.java
package com.HPioneer.view;
import java.awt.EventQueue;
import javax.swing.JInternalFrame;
import javax.swing.GroupLayout;
import javax.swing.GroupLayout.Alignment;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.LayoutStyle.ComponentPlacement;
import javax.swing.border.LineBorder;
import com.HPioneer.dao.BookDao;
import com.HPioneer.dao.BookTypeDao;
import com.HPioneer.model.Book;
import com.HPioneer.model.BookType;
import com.HPioneer.util.DbUtil;
import com.HPioneer.util.StringUtil;
import com.mysql.jdbc.Connection;
import javax.swing.JRadioButton;
import javax.swing.ButtonGroup;
import javax.swing.JTextArea;
import javax.swing.JComboBox;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.sql.ResultSet;
import java.awt.event.ActionEvent;
import javax.swing.ImageIcon;
public class BookAddInterFrm extends JInternalFrame {
private JTextField bookNameTxt;
private JTextField authorTxt;
private final ButtonGroup buttonGroup = new ButtonGroup();
private JTextField priceTxt;
private DbUtil dbUtil = new DbUtil();
private BookTypeDao bookTypeDao = new BookTypeDao();
private BookDao bookDao = new BookDao();
private JComboBox bookTypeJcb;
private JTextArea bookDescTxt;
private JRadioButton manJrb;
private JRadioButton femaleJrb;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
BookAddInterFrm frame = new BookAddInterFrm();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public BookAddInterFrm() {
setIconifiable(true);
setClosable(true);
setTitle("图书添加");
setBounds(100, 100, 450, 463);
JLabel lblNewLabel = new JLabel("图书名字:");
bookNameTxt = new JTextField();
bookNameTxt.setColumns(10);
JLabel lblNewLabel_1 = new JLabel("图书作者:");
authorTxt = new JTextField();
authorTxt.setColumns(10);
JLabel lblNewLabel_2 = new JLabel("作者性别:");
manJrb = new JRadioButton("男");
buttonGroup.add(manJrb);
manJrb.setSelected(true);
femaleJrb = new JRadioButton("女");
buttonGroup.add(femaleJrb);
JLabel lblNewLabel_3 = new JLabel("图书价格:");
priceTxt = new JTextField();
priceTxt.setColumns(10);
JLabel lblNewLabel_4 = new JLabel("图书描述:");
bookDescTxt = new JTextArea();
JLabel lblNewLabel_5 = new JLabel("图书类别:");
bookTypeJcb = new JComboBox();
JButton btnNewButton = new JButton("添加");
btnNewButton.setIcon(new ImageIcon(BookAddInterFrm.class.getResource("/images/add.png")));
btnNewButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
bookAddActionPerformed(e);
}
});
JButton btnNewButton_1 = new JButton("重置");
btnNewButton_1.setIcon(new ImageIcon(BookAddInterFrm.class.getResource("/images/add.png")));
btnNewButton_1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
bookValueActionPerformed(e);
}
});
btnNewButton_1.setIcon(new ImageIcon(BookAddInterFrm.class.getResource("/images/reset.png")));
GroupLayout groupLayout = new GroupLayout(getContentPane());
groupLayout.setHorizontalGroup(
groupLayout.createParallelGroup(Alignment.LEADING)
.addGroup(groupLayout.createSequentialGroup()
.addGap(28)
.addGroup(groupLayout.createParallelGroup(Alignment.LEADING)
.addGroup(groupLayout.createSequentialGroup()
.addComponent(lblNewLabel_4)
.addPreferredGap(ComponentPlacement.RELATED)
.addComponent(bookDescTxt, GroupLayout.DEFAULT_SIZE, 262, Short.MAX_VALUE))
.addGroup(groupLayout.createSequentialGroup()
.addGroup(groupLayout.createParallelGroup(Alignment.LEADING, false)
.addGroup(groupLayout.createSequentialGroup()
.addComponent(lblNewLabel_2)
.addPreferredGap(ComponentPlacement.UNRELATED)
.addComponent(manJrb)
.addPreferredGap(ComponentPlacement.RELATED, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(femaleJrb))
.addGroup(groupLayout.createSequentialGroup()
.addComponent(lblNewLabel)
.addPreferredGap(ComponentPlacement.RELATED)
.addComponent(bookNameTxt, GroupLayout.PREFERRED_SIZE, 91, GroupLayout.PREFERRED_SIZE)))
.addGap(18)
.addGroup(groupLayout.createParallelGroup(Alignment.LEADING)
.addComponent(lblNewLabel_3)
.addComponent(lblNewLabel_1))
.addPreferredGap(ComponentPlacement.RELATED)
.addGroup(groupLayout.createParallelGroup(Alignment.LEADING)
.addComponent(authorTxt, GroupLayout.DEFAULT_SIZE, 89, Short.MAX_VALUE)
.addComponent(priceTxt, GroupLayout.DEFAULT_SIZE, 89, Short.MAX_VALUE)))
.addGroup(groupLayout.createSequentialGroup()
.addComponent(btnNewButton)
.addGap(33)
.addComponent(btnNewButton_1))
.addGroup(groupLayout.createSequentialGroup()
.addComponent(lblNewLabel_5)
.addPreferredGap(ComponentPlacement.RELATED)
.addComponent(bookTypeJcb, 0, 262, Short.MAX_VALUE)))
.addGap(80))
);
groupLayout.setVerticalGroup(
groupLayout.createParallelGroup(Alignment.LEADING)
.addGroup(groupLayout.createSequentialGroup()
.addGap(33)
.addGroup(groupLayout.createParallelGroup(Alignment.BASELINE)
.addComponent(lblNewLabel)
.addComponent(bookNameTxt, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
.addComponent(authorTxt, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
.addComponent(lblNewLabel_1))
.addGap(26)
.addGroup(groupLayout.createParallelGroup(Alignment.BASELINE)
.addComponent(lblNewLabel_2)
.addComponent(manJrb)
.addComponent(femaleJrb)
.addComponent(lblNewLabel_3)
.addComponent(priceTxt, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
.addGap(26)
.addGroup(groupLayout.createParallelGroup(Alignment.BASELINE)
.addComponent(lblNewLabel_5)
.addComponent(bookTypeJcb, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
.addGap(30)
.addGroup(groupLayout.createParallelGroup(Alignment.LEADING)
.addComponent(lblNewLabel_4)
.addComponent(bookDescTxt, GroupLayout.PREFERRED_SIZE, 140, GroupLayout.PREFERRED_SIZE))
.addPreferredGap(ComponentPlacement.RELATED, 38, Short.MAX_VALUE)
.addGroup(groupLayout.createParallelGroup(Alignment.BASELINE)
.addComponent(btnNewButton)
.addComponent(btnNewButton_1))
.addGap(50))
);
getContentPane().setLayout(groupLayout);
//显示文本域边框
bookDescTxt.setBorder(new LineBorder(new java.awt.Color(127,157,185),1,false));
fillBookType();
}
/**
* 重置事件处理
* @param e
*/
private void bookValueActionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
this.resetValue();
}
private void bookAddActionPerformed(ActionEvent evt) {
// TODO Auto-generated method stub
String bookName = this.bookNameTxt.getText();
String author = this.authorTxt.getText();
String price = this.priceTxt.getText();
String bookDesc = this.bookDescTxt.getText();
if(StringUtil.isEmpty(bookName)){
JOptionPane.showMessageDialog(null,"图书名称不能为空");
}
if(StringUtil.isEmpty(author)){
JOptionPane.showMessageDialog(null,"图书作者不能为空");
}
if(StringUtil.isEmpty(price)){
JOptionPane.showMessageDialog(null,"图书价格不能为空");
}
String sex ="";
if(manJrb.isSelected()){
sex="男";
}else{
sex="女";
}
BookType bookType =(BookType) bookTypeJcb.getSelectedItem();
int bookTypeId = bookType.getId();
Book book = new Book(bookName,author,sex,Float.parseFloat(price),bookTypeId,bookDesc);
Connection con = null;
try{
con=dbUtil.getCon();
int addNum = bookDao.add(con, book);
if(addNum == 1){
JOptionPane.showMessageDialog(null,"图书类别添加成功");
resetValue();
}else{
JOptionPane.showMessageDialog(null,"图书类别添加失败");
}
}catch(Exception e){
e.printStackTrace();
JOptionPane.showMessageDialog(null,"图书类别添加失败");
}finally{
try{
dbUtil.closeCon(con);
}catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
}
/**
* 重置表单
*/
private void resetValue() {
// TODO Auto-generated method stub
this.bookNameTxt.setText("");
this.authorTxt.setText("");
this.priceTxt.setText("");
this.manJrb.setSelected(true);
this.bookDescTxt.setText("");
if(this.bookTypeJcb.getItemCount()>0){
this.bookTypeJcb.setSelectedIndex(0);
}
}
/**
* 初始化图书类别下拉框
*/
private void fillBookType(){
Connection con = null;
BookType bookType = null;
try{
con = dbUtil.getCon();
ResultSet rs = bookTypeDao.list(con, new BookType());
while( rs.next() ){
bookType = new BookType();
bookType.setId(rs.getInt("id"));
bookType.setBookTypeName(rs.getString("bookTypeName"));
this.bookTypeJcb.addItem(bookType);
}
}catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}finally{
}
}
}
删BookManageInterFrm.java
package com.HPioneer.view;
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.sql.Connection;
import java.sql.ResultSet;
import java.util.Vector;
import javax.swing.ButtonGroup;
import javax.swing.GroupLayout;
import javax.swing.GroupLayout.Alignment;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JInternalFrame;
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.JTextArea;
import javax.swing.JTextField;
import javax.swing.LayoutStyle.ComponentPlacement;
import javax.swing.border.LineBorder;
import javax.swing.border.TitledBorder;
import javax.swing.table.DefaultTableModel;
import com.HPioneer.dao.BookDao;
import com.HPioneer.dao.BookTypeDao;
import com.HPioneer.model.Book;
import com.HPioneer.model.BookType;
import com.HPioneer.util.DbUtil;
import com.HPioneer.util.StringUtil;
public class BookManageInterFrm extends JInternalFrame {
private JTable bookTable;
private JTextField s_bookNameTxt;
private JTextField s_authorTxt;
private JComboBox s_bookTypeJcb;
private JRadioButton manJrb ;
private JRadioButton femaleJrb ;
private JTextArea bookDescTxt;
private JComboBox bookTypeJcb ;
private DbUtil dbUtil=new DbUtil();
private BookTypeDao bookTypeDao=new BookTypeDao();
private BookDao bookDao=new BookDao();
private JTextField idTxt;
private JTextField bookNameTxt;
private final ButtonGroup buttonGroup = new ButtonGroup();
private JTextField priceTxt;
private JTextField authorTxt;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
BookManageInterFrm frame = new BookManageInterFrm();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public BookManageInterFrm() {
setClosable(true);
setIconifiable(true);
setTitle("\u56FE\u4E66\u7BA1\u7406");
setBounds(100, 100, 677, 487);
JScrollPane scrollPane = new JScrollPane();
JPanel panel = new JPanel();
panel.setBorder(new TitledBorder(null, "\u641C\u7D22\u6761\u4EF6", TitledBorder.LEADING, TitledBorder.TOP, null, null));
JPanel panel_1 = new JPanel();
panel_1.setBorder(new TitledBorder(null, "\u8868\u5355\u64CD\u4F5C", TitledBorder.LEADING, TitledBorder.TOP, null, null));
GroupLayout groupLayout = new GroupLayout(getContentPane());
groupLayout.setHorizontalGroup(
groupLayout.createParallelGroup(Alignment.LEADING)
.addGroup(groupLayout.createSequentialGroup()
.addContainerGap()
.addGroup(groupLayout.createParallelGroup(Alignment.TRAILING)
.addComponent(panel_1, Alignment.LEADING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(Alignment.LEADING, groupLayout.createParallelGroup(Alignment.LEADING, false)
.addComponent(panel, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(scrollPane)))
.addContainerGap(66, Short.MAX_VALUE))
);
groupLayout.setVerticalGroup(
groupLayout.createParallelGroup(Alignment.LEADING)
.addGroup(groupLayout.createSequentialGroup()
.addGap(28)
.addComponent(panel, GroupLayout.PREFERRED_SIZE, 65, GroupLayout.PREFERRED_SIZE)
.addGap(18)
.addComponent(scrollPane, GroupLayout.PREFERRED_SIZE, 116, GroupLayout.PREFERRED_SIZE)
.addGap(18)
.addComponent(panel_1, GroupLayout.DEFAULT_SIZE, 203, Short.MAX_VALUE)
.addContainerGap())
);
JLabel lblNewLabel = new JLabel("\u7F16\u53F7\uFF1A");
idTxt = new JTextField();
idTxt.setEditable(false);
idTxt.setColumns(10);
JLabel lblNewLabel_1 = new JLabel("\u56FE\u4E66\u540D\u79F0\uFF1A");
bookNameTxt = new JTextField();
bookNameTxt.setColumns(10);
JLabel label_3 = new JLabel("\u4F5C\u8005\u6027\u522B\uFF1A");
manJrb = new JRadioButton("\u7537");
buttonGroup.add(manJrb);
manJrb.setSelected(true);
femaleJrb = new JRadioButton("\u5973");
buttonGroup.add(femaleJrb);
JLabel label_4 = new JLabel("\u4EF7\u683C\uFF1A");
priceTxt = new JTextField();
priceTxt.setColumns(10);
JLabel lblNewLabel_2 = new JLabel("\u56FE\u4E66\u4F5C\u8005\uFF1A");
authorTxt = new JTextField();
authorTxt.setColumns(10);
JLabel label_5 = new JLabel("\u56FE\u4E66\u7C7B\u522B\uFF1A");
bookTypeJcb = new JComboBox();
JLabel label_6 = new JLabel("\u56FE\u4E66\u63CF\u8FF0\uFF1A");
bookDescTxt = new JTextArea();
JButton button_1 = new JButton("\u4FEE\u6539");
button_1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
bookUpdateActionPerformed(evt);
}
});
button_1.setIcon(new ImageIcon(BookManageInterFrm.class.getResource("/images/modify.png")));
JButton button_2 = new JButton("\u5220\u9664");
button_2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
bookDeleteActionPerformed(evt);
}
});
button_2.setIcon(new ImageIcon(BookManageInterFrm.class.getResource("/images/delete.png")));
GroupLayout gl_panel_1 = new GroupLayout(panel_1);
gl_panel_1.setHorizontalGroup(
gl_panel_1.createParallelGroup(Alignment.LEADING)
.addGroup(gl_panel_1.createSequentialGroup()
.addGap(19)
.addGroup(gl_panel_1.createParallelGroup(Alignment.LEADING)
.addGroup(gl_panel_1.createSequentialGroup()
.addComponent(button_1)
.addGap(18)
.addComponent(button_2)
.addGap(386))
.addGroup(gl_panel_1.createSequentialGroup()
.addGroup(gl_panel_1.createParallelGroup(Alignment.LEADING)
.addGroup(gl_panel_1.createSequentialGroup()
.addComponent(label_6)
.addPreferredGap(ComponentPlacement.UNRELATED)
.addComponent(bookDescTxt))
.addGroup(gl_panel_1.createSequentialGroup()
.addGroup(gl_panel_1.createParallelGroup(Alignment.LEADING, false)
.addGroup(gl_panel_1.createSequentialGroup()
.addComponent(label_4)
.addPreferredGap(ComponentPlacement.RELATED)
.addComponent(priceTxt))
.addGroup(gl_panel_1.createSequentialGroup()
.addComponent(lblNewLabel)
.addPreferredGap(ComponentPlacement.RELATED)
.addComponent(idTxt, GroupLayout.PREFERRED_SIZE, 87, GroupLayout.PREFERRED_SIZE)))
.addGap(26)
.addGroup(gl_panel_1.createParallelGroup(Alignment.LEADING, false)
.addGroup(gl_panel_1.createSequentialGroup()
.addComponent(lblNewLabel_1)
.addPreferredGap(ComponentPlacement.RELATED)
.addComponent(bookNameTxt, GroupLayout.PREFERRED_SIZE, 85, GroupLayout.PREFERRED_SIZE))
.addGroup(gl_panel_1.createSequentialGroup()
.addComponent(lblNewLabel_2)
.addPreferredGap(ComponentPlacement.RELATED)
.addComponent(authorTxt)))
.addGap(26)
.addGroup(gl_panel_1.createParallelGroup(Alignment.LEADING, false)
.addGroup(gl_panel_1.createSequentialGroup()
.addComponent(label_3)
.addPreferredGap(ComponentPlacement.UNRELATED)
.addComponent(manJrb)
.addPreferredGap(ComponentPlacement.RELATED)
.addComponent(femaleJrb))
.addGroup(gl_panel_1.createSequentialGroup()
.addComponent(label_5)
.addPreferredGap(ComponentPlacement.UNRELATED)
.addComponent(bookTypeJcb, 0, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))))
.addContainerGap(86, Short.MAX_VALUE))))
);
gl_panel_1.setVerticalGroup(
gl_panel_1.createParallelGroup(Alignment.LEADING)
.addGroup(gl_panel_1.createSequentialGroup()
.addGap(21)
.addGroup(gl_panel_1.createParallelGroup(Alignment.BASELINE)
.addComponent(lblNewLabel)
.addComponent(idTxt, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
.addComponent(lblNewLabel_1)
.addComponent(bookNameTxt, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
.addComponent(label_3)
.addComponent(manJrb)
.addComponent(femaleJrb))
.addGap(18)
.addGroup(gl_panel_1.createParallelGroup(Alignment.BASELINE)
.addComponent(label_4)
.addComponent(priceTxt, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
.addComponent(lblNewLabel_2)
.addComponent(authorTxt, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
.addComponent(label_5)
.addComponent(bookTypeJcb, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
.addGap(18)
.addGroup(gl_panel_1.createParallelGroup(Alignment.LEADING)
.addComponent(label_6)
.addComponent(bookDescTxt, GroupLayout.PREFERRED_SIZE, 35, GroupLayout.PREFERRED_SIZE))
.addPreferredGap(ComponentPlacement.RELATED, 20, Short.MAX_VALUE)
.addGroup(gl_panel_1.createParallelGroup(Alignment.BASELINE)
.addComponent(button_1)
.addComponent(button_2)))
);
panel_1.setLayout(gl_panel_1);
JLabel label = new JLabel("\u56FE\u4E66\u540D\u79F0\uFF1A");
s_bookNameTxt = new JTextField();
s_bookNameTxt.setColumns(10);
JLabel label_1 = new JLabel("\u56FE\u4E66\u4F5C\u8005\uFF1A");
s_authorTxt = new JTextField();
s_authorTxt.setColumns(10);
JLabel label_2 = new JLabel("\u56FE\u4E66\u7C7B\u522B\uFF1A");
s_bookTypeJcb = new JComboBox();
JButton button = new JButton("\u67E5\u8BE2");
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
bookSearchActionPerformed(e);
}
});
button.setIcon(new ImageIcon(BookManageInterFrm.class.getResource("/images/search.png")));
GroupLayout gl_panel = new GroupLayout(panel);
gl_panel.setHorizontalGroup(
gl_panel.createParallelGroup(Alignment.LEADING)
.addGroup(gl_panel.createSequentialGroup()
.addGap(19)
.addComponent(label)
.addPreferredGap(ComponentPlacement.RELATED)
.addComponent(s_bookNameTxt, GroupLayout.PREFERRED_SIZE, 77, GroupLayout.PREFERRED_SIZE)
.addGap(18)
.addComponent(label_1)
.addPreferredGap(ComponentPlacement.RELATED)
.addComponent(s_authorTxt, GroupLayout.PREFERRED_SIZE, 74, GroupLayout.PREFERRED_SIZE)
.addPreferredGap(ComponentPlacement.UNRELATED)
.addComponent(label_2)
.addPreferredGap(ComponentPlacement.RELATED)
.addComponent(s_bookTypeJcb, GroupLayout.PREFERRED_SIZE, 78, GroupLayout.PREFERRED_SIZE)
.addGap(18)
.addComponent(button)
.addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
gl_panel.setVerticalGroup(
gl_panel.createParallelGroup(Alignment.TRAILING)
.addGroup(gl_panel.createSequentialGroup()
.addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(gl_panel.createParallelGroup(Alignment.BASELINE)
.addComponent(label)
.addComponent(s_bookNameTxt, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
.addComponent(label_1)
.addComponent(s_authorTxt, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
.addComponent(label_2)
.addComponent(s_bookTypeJcb, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
.addComponent(button))
.addGap(16))
);
panel.setLayout(gl_panel);
bookTable = new JTable();
bookTable.addMouseListener(new MouseAdapter() {
@Override
public void mousePressed(MouseEvent met) {
bookTableMousePressed(met);
}
});
scrollPane.setViewportView(bookTable);
bookTable.setModel(new DefaultTableModel(
new Object[][] {
},
new String[] {
"\u7F16\u53F7", "\u56FE\u4E66\u540D\u79F0", "\u56FE\u4E66\u4F5C\u8005", "\u4F5C\u8005\u6027\u522B", "\u56FE\u4E66\u4EF7\u683C", "\u56FE\u4E66\u63CF\u8FF0", "\u56FE\u4E66\u7C7B\u522B"
}
) {
boolean[] columnEditables = new boolean[] {
false, false, false, false, false, false, false
};
public boolean isCellEditable(int row, int column) {
return columnEditables[column];
}
});
bookTable.getColumnModel().getColumn(5).setPreferredWidth(119);
getContentPane().setLayout(groupLayout);
//设置文本域边框
bookDescTxt.setBorder(new LineBorder(new java.awt.Color(127,157,185), 1, false));
this.fillBookType("search");
this.fillBookType("modify");
this.fillTable(new Book());
}
/**
* 图书删除事件处理
* @param evt
*/
private void bookDeleteActionPerformed(ActionEvent evt) {
String id=idTxt.getText();
if(StringUtil.isEmpty(id)){
JOptionPane.showMessageDialog(null, "请选择要删除的记录");
return;
}
int n=JOptionPane.showConfirmDialog(null, "确定要删除这条记录么");
if(n==0){
Connection con=null;
try{
con=dbUtil.getCon();
int deleteNum=bookDao.delete((com.mysql.jdbc.Connection) con, id);
if(deleteNum==1){
JOptionPane.showMessageDialog(null, "删除成功");
this.resetValue();
this.fillTable(new Book());
}else{
JOptionPane.showMessageDialog(null, "删除失败");
}
}catch(Exception e){
e.printStackTrace();
JOptionPane.showMessageDialog(null, "删除失败");
}finally{
try {
dbUtil.closeCon(con);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
/**
* 图书修改事件处理
* @param evt
*/
private void bookUpdateActionPerformed(ActionEvent evt) {
String id=this.idTxt.getText();
if(StringUtil.isEmpty(id)){
JOptionPane.showMessageDialog(null, "请选择要修改的内容");
return;
}
String bookName=this.bookNameTxt.getText();
String author=this.authorTxt.getText();
String price=this.priceTxt.getText();
String bookDesc=this.bookDescTxt.getText();
if(StringUtil.isEmpty(bookName)){
JOptionPane.showMessageDialog(null, "图书类别名称不能为空");
return;
}
if(StringUtil.isEmpty(author)){
JOptionPane.showMessageDialog(null, "图书作者名称不能为空");
return;
}
if(StringUtil.isEmpty(price)){
JOptionPane.showMessageDialog(null, "图书价格名称不能为空");
return;
}
String sex="";
if(manJrb.isSelected()){
sex="男";
}else if(femaleJrb.isSelected()){
sex="女";
}
BookType bookType=(BookType) bookTypeJcb.getSelectedItem();
int bookTypeId=bookType.getId();
Book book=new Book(Integer.parseInt(id), bookName, author, sex, Float.parseFloat(price), bookTypeId, bookDesc);
Connection con=null;
try{
con=dbUtil.getCon();
int addNum=bookDao.update((com.mysql.jdbc.Connection) con, book);
if(addNum==1){
JOptionPane.showMessageDialog(null, "修改成功");
resetValue();
this.fillTable(new Book());
}else{
JOptionPane.showMessageDialog(null, "修改失败");
}
}catch(Exception e){
e.printStackTrace();
JOptionPane.showMessageDialog(null, "修改失败");
}finally{
try {
dbUtil.closeCon(con);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
/**
* 重置表单
*/
private void resetValue(){
this.idTxt.setText("");
this.bookNameTxt.setText("");
this.authorTxt.setText("");
this.priceTxt.setText("");
this.manJrb.setSelected(true);
this.bookDescTxt.setText("");
if(this.bookTypeJcb.getItemCount()>0){
this.bookTypeJcb.setSelectedIndex(0);
}
}
/**
* 表格行点击事件处理
* @param met
*/
private void bookTableMousePressed(MouseEvent met) {
int row=this.bookTable.getSelectedRow();
this.idTxt.setText((String)bookTable.getValueAt(row, 0));
this.bookNameTxt.setText((String)bookTable.getValueAt(row, 1));
this.authorTxt.setText((String)bookTable.getValueAt(row, 2));
String sex=(String)bookTable.getValueAt(row, 3);
if("男".equals(sex)){
this.manJrb.setSelected(true);
}else if("女".equals(sex)){
this.femaleJrb.setSelected(true);
}
this.priceTxt.setText((Float)bookTable.getValueAt(row, 4)+"");
this.bookDescTxt.setText((String)bookTable.getValueAt(row, 5));
String bookTypeName=(String)this.bookTable.getValueAt(row, 6);
int n=this.bookTypeJcb.getItemCount();
for(int i=0;i<n;i++){
BookType item=(BookType)this.bookTypeJcb.getItemAt(i);
if(item.getBookTypeName().equals(bookTypeName)){
this.bookTypeJcb.setSelectedIndex(i);
}
}
}
/**
* 图书查询事件处理
* @param e
*/
private void bookSearchActionPerformed(ActionEvent evt) {
String bookName=this.s_bookNameTxt.getText();
String author=this.s_authorTxt.getText();
BookType bookType=(BookType) this.s_bookTypeJcb.getSelectedItem();
int bookTypeId=bookType.getId();
Book book=new Book(bookName,author,bookTypeId);
this.fillTable(book);
}
/**
* 初始化下拉框
* @param type 下拉框类型
*/
private void fillBookType(String type){
com.mysql.jdbc.Connection con=null;
BookType bookType=null;
try{
con=dbUtil.getCon();
ResultSet rs=bookTypeDao.list(con, new BookType());
if("search".equals(type)){
bookType=new BookType();
bookType.setBookTypeName("请选择...");
bookType.setId(-1);
this.s_bookTypeJcb.addItem(bookType);
}
while(rs.next()){
bookType=new BookType();
bookType.setBookTypeName(rs.getString("bookTypeName"));
bookType.setId(rs.getInt("id"));
if("search".equals(type)){
this.s_bookTypeJcb.addItem(bookType);
}else if("modify".equals(type)){
this.bookTypeJcb.addItem(bookType);
}
}
}catch(Exception e){
e.printStackTrace();
}finally{
try {
dbUtil.closeCon(con);
} catch (Exception e) {
e.printStackTrace();
}
}
}
/**
* 初始化表格
* @param book
*/
private void fillTable(Book book){
DefaultTableModel dtm=(DefaultTableModel) bookTable.getModel();
dtm.setRowCount(0); // 设置成0行
Connection con=null;
try{
con=dbUtil.getCon();
ResultSet rs=bookDao.list((com.mysql.jdbc.Connection) con, book);
while(rs.next()){
Vector v=new Vector();
v.add(rs.getString("id"));
v.add(rs.getString("bookName"));
v.add(rs.getString("author"));
v.add(rs.getString("sex"));
v.add(rs.getFloat("price"));
v.add(rs.getString("bookDesc"));
v.add(rs.getString("bookTypeName"));
dtm.addRow(v);
}
}catch(Exception e){
e.printStackTrace();
}finally{
try {
dbUtil.closeCon(con);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
改BookTypeManagerInterFrm.java
package com.HPioneer.view;
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.sql.Connection;
import java.sql.ResultSet;
import java.util.Vector;
import javax.swing.GroupLayout;
import javax.swing.GroupLayout.Alignment;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JInternalFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.LayoutStyle.ComponentPlacement;
import javax.swing.border.LineBorder;
import javax.swing.border.TitledBorder;
import javax.swing.table.DefaultTableModel;
import com.HPioneer.dao.BookDao;
import com.HPioneer.dao.BookTypeDao;
import com.HPioneer.model.BookType;
import com.HPioneer.util.DbUtil;
import com.HPioneer.util.StringUtil;
public class BookTypeManagerInterFrm extends JInternalFrame {
private JTable bookTypeTable;
private JTextArea bookTypeDescTxt ;
private DbUtil dbUtil=new DbUtil();
private BookTypeDao bookTypeDao=new BookTypeDao();
private BookDao bookDao=new BookDao();
private JTextField s_bookTypeNameTxt;
private JTextField idTxt;
private JTextField bookTypeNameTxt;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
BookTypeManagerInterFrm frame = new BookTypeManagerInterFrm();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public BookTypeManagerInterFrm() {
setClosable(true);
setIconifiable(true);
setTitle("\u56FE\u4E66\u7C7B\u522B\u7BA1\u7406");
setBounds(100, 100, 507, 481);
JScrollPane scrollPane = new JScrollPane();
JLabel label = new JLabel("\u56FE\u4E66\u7C7B\u522B\u540D\u79F0\uFF1A");
s_bookTypeNameTxt = new JTextField();
s_bookTypeNameTxt.setColumns(10);
JButton button = new JButton("\u67E5\u8BE2");
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
bookTypeSearchActionPerformed(e);
}
});
button.setIcon(new ImageIcon(BookTypeManagerInterFrm.class.getResource("/images/search.png")));
JPanel panel = new JPanel();
panel.setBorder(new TitledBorder(null, "\u8868\u5355\u64CD\u4F5C", TitledBorder.LEADING, TitledBorder.TOP, null, null));
GroupLayout groupLayout = new GroupLayout(getContentPane());
groupLayout.setHorizontalGroup(
groupLayout.createParallelGroup(Alignment.LEADING)
.addGroup(groupLayout.createSequentialGroup()
.addGap(42)
.addGroup(groupLayout.createParallelGroup(Alignment.TRAILING)
.addComponent(panel, Alignment.LEADING, GroupLayout.DEFAULT_SIZE, 401, Short.MAX_VALUE)
.addGroup(Alignment.LEADING, groupLayout.createSequentialGroup()
.addComponent(label)
.addGap(18)
.addComponent(s_bookTypeNameTxt, GroupLayout.PREFERRED_SIZE, 133, GroupLayout.PREFERRED_SIZE)
.addGap(18)
.addComponent(button))
.addComponent(scrollPane, Alignment.LEADING, GroupLayout.DEFAULT_SIZE, 401, Short.MAX_VALUE))
.addGap(48))
);
groupLayout.setVerticalGroup(
groupLayout.createParallelGroup(Alignment.LEADING)
.addGroup(groupLayout.createSequentialGroup()
.addGap(33)
.addGroup(groupLayout.createParallelGroup(Alignment.BASELINE)
.addComponent(label)
.addComponent(s_bookTypeNameTxt, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
.addComponent(button))
.addGap(39)
.addComponent(scrollPane, GroupLayout.PREFERRED_SIZE, 126, GroupLayout.PREFERRED_SIZE)
.addGap(18)
.addComponent(panel, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
.addContainerGap(25, Short.MAX_VALUE))
);
JLabel lblNewLabel = new JLabel("\u7F16\u53F7\uFF1A");
idTxt = new JTextField();
idTxt.setEditable(false);
idTxt.setColumns(10);
JLabel label_1 = new JLabel("\u56FE\u4E66\u7C7B\u522B\u540D\u79F0\uFF1A");
bookTypeNameTxt = new JTextField();
bookTypeNameTxt.setColumns(10);
JLabel lblNewLabel_1 = new JLabel("\u63CF\u8FF0\uFF1A");
bookTypeDescTxt = new JTextArea();
JButton btnNewButton = new JButton("\u4FEE\u6539");
btnNewButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
bookTypeUpdateActionEvent(e);
}
});
btnNewButton.setIcon(new ImageIcon(BookTypeManagerInterFrm.class.getResource("/images/modify.png")));
JButton btnNewButton_1 = new JButton("\u5220\u9664");
btnNewButton_1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
bookTypeDeleteActionEvent(e);
}
});
btnNewButton_1.setIcon(new ImageIcon(BookTypeManagerInterFrm.class.getResource("/images/delete.png")));
GroupLayout gl_panel = new GroupLayout(panel);
gl_panel.setHorizontalGroup(
gl_panel.createParallelGroup(Alignment.LEADING)
.addGroup(gl_panel.createSequentialGroup()
.addContainerGap()
.addGroup(gl_panel.createParallelGroup(Alignment.LEADING, false)
.addGroup(gl_panel.createSequentialGroup()
.addComponent(lblNewLabel)
.addPreferredGap(ComponentPlacement.RELATED)
.addComponent(idTxt, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
.addGap(31)
.addComponent(label_1)
.addPreferredGap(ComponentPlacement.UNRELATED)
.addComponent(bookTypeNameTxt, GroupLayout.PREFERRED_SIZE, 105, GroupLayout.PREFERRED_SIZE))
.addGroup(gl_panel.createSequentialGroup()
.addComponent(lblNewLabel_1)
.addPreferredGap(ComponentPlacement.RELATED)
.addComponent(bookTypeDescTxt))
.addGroup(gl_panel.createSequentialGroup()
.addComponent(btnNewButton)
.addGap(26)
.addComponent(btnNewButton_1)))
.addContainerGap(37, Short.MAX_VALUE))
);
gl_panel.setVerticalGroup(
gl_panel.createParallelGroup(Alignment.LEADING)
.addGroup(gl_panel.createSequentialGroup()
.addContainerGap()
.addGroup(gl_panel.createParallelGroup(Alignment.BASELINE)
.addComponent(lblNewLabel)
.addComponent(idTxt, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
.addComponent(label_1)
.addComponent(bookTypeNameTxt, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
.addGap(18)
.addGroup(gl_panel.createParallelGroup(Alignment.LEADING)
.addComponent(lblNewLabel_1)
.addComponent(bookTypeDescTxt, GroupLayout.PREFERRED_SIZE, 60, GroupLayout.PREFERRED_SIZE))
.addGap(18)
.addGroup(gl_panel.createParallelGroup(Alignment.BASELINE)
.addComponent(btnNewButton)
.addComponent(btnNewButton_1))
.addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
panel.setLayout(gl_panel);
bookTypeTable = new JTable();
bookTypeTable.addMouseListener(new MouseAdapter() {
@Override
public void mousePressed(MouseEvent e) {
bookTypeTableMousePressed(e);
}
});
bookTypeTable.setModel(new DefaultTableModel(
new Object[][] {
},
new String[] {
"\u7F16\u53F7", "\u56FE\u4E66\u7C7B\u522B\u540D\u79F0", "\u56FE\u4E66\u7C7B\u522B\u63CF\u8FF0"
}
) {
boolean[] columnEditables = new boolean[] {
false, false, false
};
public boolean isCellEditable(int row, int column) {
return columnEditables[column];
}
});
bookTypeTable.getColumnModel().getColumn(1).setPreferredWidth(110);
bookTypeTable.getColumnModel().getColumn(2).setPreferredWidth(123);
scrollPane.setViewportView(bookTypeTable);
getContentPane().setLayout(groupLayout);
this.fillTable(new BookType());
bookTypeDescTxt.setBorder(new LineBorder(new java.awt.Color(127,157,185), 1, false));
}
/*
* 图书类别删除事件处理
* @param evt
*/
private void bookTypeDeleteActionEvent(ActionEvent evt) {
String id=idTxt.getText();
if(StringUtil.isEmpty(id)){
JOptionPane.showMessageDialog(null, "请选择要删除的内容");
return;
}
int n = JOptionPane.showConfirmDialog(null,"确定要删除选中记录么");
if(n==0){
Connection con=null;
try{
con=dbUtil.getCon();
int deleteNum=bookTypeDao.delete(con, id);
if(deleteNum==1){
JOptionPane.showMessageDialog(null, "删除成功");
this.resetValue();
this.fillTable(new BookType());
}else{
JOptionPane.showMessageDialog(null, "删除失败");
}
}catch(Exception e){
e.printStackTrace();
JOptionPane.showMessageDialog(null, "删除失败");
}finally{
try {
dbUtil.closeCon(con);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
/**
* 图书类别修改事件处理
* @param evt
*/
private void bookTypeUpdateActionEvent(ActionEvent evt) {
String id=idTxt.getText();
String bookTypeName=bookTypeNameTxt.getText();
String bookTypeDesc=bookTypeDescTxt.getText();
if(StringUtil.isEmpty(id)){
JOptionPane.showMessageDialog(null, "请选择要修改的内容");
return;
}
if(StringUtil.isEmpty(bookTypeName)){
JOptionPane.showMessageDialog(null, "请选择要修改的内容");
return;
}
BookType bookType=new BookType(Integer.parseInt(id),bookTypeName,bookTypeDesc);
Connection con=null;
try{
con=dbUtil.getCon();
int modifyNum=bookTypeDao.update(con, bookType);
if(modifyNum==1){
JOptionPane.showMessageDialog(null, "修改成功");
this.resetValue();
this.fillTable(new BookType());
}else{
JOptionPane.showMessageDialog(null, "修改失败");
}
}catch(Exception e){
e.printStackTrace();
JOptionPane.showMessageDialog(null, "修改失败");
}finally{
try {
dbUtil.closeCon(con);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
/**
* 表格行点击事件
* @param e
*/
private void bookTypeTableMousePressed(MouseEvent evt) {
int row=bookTypeTable.getSelectedRow();
idTxt.setText((String)bookTypeTable.getValueAt(row, 0));
bookTypeNameTxt.setText((String)bookTypeTable.getValueAt(row, 1));
bookTypeDescTxt.setText((String)bookTypeTable.getValueAt(row, 2));
}
/**
* 图书类别搜索事件处理
* @param evt
*/
private void bookTypeSearchActionPerformed(ActionEvent evt) {
String s_bookTypeName=this.s_bookTypeNameTxt.getText();
BookType bookType=new BookType();
bookType.setBookTypeName(s_bookTypeName);
this.fillTable(bookType);
}
/**
* 初始化表格
* @param bookType
*/
private void fillTable(BookType bookType){
DefaultTableModel dtm=(DefaultTableModel) bookTypeTable.getModel();
dtm.setRowCount(0);
Connection con=null;
try{
con=dbUtil.getCon();
ResultSet rs=bookTypeDao.list(con, bookType);
while(rs.next()){
Vector v=new Vector();
v.add(rs.getString("id"));
v.add(rs.getString("bookTypeName"));
v.add(rs.getString("bookTypeDesc"));
dtm.addRow(v);
}
}catch(Exception e){
e.printStackTrace();
}finally{
try {
dbUtil.closeCon(con);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
/**
* 重置表单
*/
private void resetValue(){
this.idTxt.setText("");
this.bookTypeNameTxt.setText("");
this.bookTypeDescTxt.setText("");
}
}
查BookTypeAddInterFrm.java
package com.HPioneer.view;
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.GroupLayout;
import javax.swing.GroupLayout.Alignment;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JInternalFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.LayoutStyle.ComponentPlacement;
import javax.swing.border.LineBorder;
import com.HPioneer.dao.BookTypeDao;
import com.HPioneer.model.BookType;
import com.HPioneer.util.DbUtil;
import com.HPioneer.util.StringUtil;
import com.mysql.jdbc.Connection;
public class BookTypeAddInterFrm extends JInternalFrame {
private JTextField bookTypeNameTxt;
private JTextArea bookTypeDescTxt;
private DbUtil dbUtil = new DbUtil();
private BookTypeDao bookTypeDao = new BookTypeDao();
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
BookTypeAddInterFrm frame = new BookTypeAddInterFrm();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public BookTypeAddInterFrm() {
setIconifiable(true);
setClosable(true);
setTitle("图书类别添加");
setBounds(100, 100, 450, 300);
JLabel lblNewLabel = new JLabel("图书类别名称:");
JLabel lblNewLabel_1 = new JLabel("图书类别描述:");
bookTypeNameTxt = new JTextField();
bookTypeNameTxt.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
}
});
bookTypeNameTxt.setColumns(10);
bookTypeDescTxt = new JTextArea();
JButton btnNewButton = new JButton("添加");
btnNewButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
bookTypeAddActionPerformed(e);
}
});
btnNewButton.setIcon(new ImageIcon(BookTypeAddInterFrm.class.getResource("/images/add.png")));
JButton btnNewButton_1 = new JButton("重置");
btnNewButton_1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
resetValueActionPerformed(e);
}
});
btnNewButton_1.setIcon(new ImageIcon(BookTypeAddInterFrm.class.getResource("/images/reset.png")));
GroupLayout groupLayout = new GroupLayout(getContentPane());
groupLayout.setHorizontalGroup(
groupLayout.createParallelGroup(Alignment.LEADING)
.addGroup(groupLayout.createSequentialGroup()
.addGroup(groupLayout.createParallelGroup(Alignment.LEADING)
.addGroup(groupLayout.createSequentialGroup()
.addGap(68)
.addGroup(groupLayout.createParallelGroup(Alignment.LEADING)
.addComponent(lblNewLabel)
.addComponent(lblNewLabel_1)))
.addGroup(groupLayout.createSequentialGroup()
.addGap(83)
.addComponent(btnNewButton)))
.addPreferredGap(ComponentPlacement.RELATED)
.addGroup(groupLayout.createParallelGroup(Alignment.TRAILING)
.addGroup(groupLayout.createSequentialGroup()
.addGap(34)
.addGroup(groupLayout.createParallelGroup(Alignment.LEADING)
.addComponent(bookTypeNameTxt, GroupLayout.DEFAULT_SIZE, 162, Short.MAX_VALUE)
.addComponent(bookTypeDescTxt, GroupLayout.DEFAULT_SIZE, 162, Short.MAX_VALUE)))
.addGroup(groupLayout.createSequentialGroup()
.addPreferredGap(ComponentPlacement.RELATED)
.addComponent(btnNewButton_1)))
.addGap(78))
);
groupLayout.setVerticalGroup(
groupLayout.createParallelGroup(Alignment.LEADING)
.addGroup(groupLayout.createSequentialGroup()
.addGap(51)
.addGroup(groupLayout.createParallelGroup(Alignment.BASELINE)
.addComponent(lblNewLabel)
.addComponent(bookTypeNameTxt, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
.addGap(35)
.addGroup(groupLayout.createParallelGroup(Alignment.BASELINE)
.addComponent(lblNewLabel_1)
.addComponent(bookTypeDescTxt, GroupLayout.PREFERRED_SIZE, 79, GroupLayout.PREFERRED_SIZE))
.addPreferredGap(ComponentPlacement.RELATED, 35, Short.MAX_VALUE)
.addGroup(groupLayout.createParallelGroup(Alignment.BASELINE)
.addComponent(btnNewButton_1)
.addComponent(btnNewButton))
.addGap(26))
);
getContentPane().setLayout(groupLayout);
//显示文本域边框
bookTypeDescTxt.setBorder(new LineBorder(new java.awt.Color(127,157,185),1,false));
}
/**
* 图书类别添加事件处理
* @param e
*/
protected void bookTypeAddActionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
String bookTypeName = this.bookTypeNameTxt.getText();
String bookTypeDesc = this.bookTypeDescTxt.getText();
if(StringUtil.isEmpty(bookTypeName)){
JOptionPane.showMessageDialog(null,"图书类别不能为空");
}
BookType bookType = new BookType(bookTypeName,bookTypeDesc);
Connection con = null;
try{
con=dbUtil.getCon();
int n = bookTypeDao.add(con, bookType);
if(n==1){
JOptionPane.showMessageDialog(null,"图书类别添加成功");
resetValue();
}else{
JOptionPane.showMessageDialog(null,"图书类别添加失败");
}
}catch(Exception e1){
e1.printStackTrace();
JOptionPane.showMessageDialog(null,"图书类别添加失败");
}finally{
try{
dbUtil.closeCon(con);
}catch (Exception e1) {
// TODO: handle exception
}
}
}
/**
* 重置事件处理
* @param evt
*/
private void resetValueActionPerformed(ActionEvent evt) {
// TODO Auto-generated method stub
this.resetValue();
}
/**
* 重置表单
*/
private void resetValue() {
this.bookTypeNameTxt.setText("");
this.bookTypeDescTxt.setText("");
}
}

浙公网安备 33010602011771号