java图书分类管理系统_图书管理系统-----图书类别删改查功能实现

添加删改查功能,代码如下蓝色字体

package

com.java1234.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 dao.BookDao;

import dao.BookTypeDao;

import model.BookType;

import util.DbUtil;

import util.StringUtil;

public class BookTypeManageInterFrm extends JInternalFrame

{

private JTextField s_bookTypeNameTxt;

private JTable bookTypeTable;

private JTextArea bookTypeDescTxt = new JTextArea();

private DbUtil dbUtil = new

DbUtil();

private BookTypeDao bookTypeDao = new

BookTypeDao();

private BookDao bookDao = new

BookDao();

private JTextField idTxt;

private JTextField

bookTypeNameTxt;

public static void main(String[] args) {

EventQueue.invokeLater(new Runnable() {

public void run() {

try {

BookTypeManageInterFrm frame = new

BookTypeManageInterFrm();

frame.setVisible(true);

} catch (Exception e) {

e.printStackTrace();

}

}

});

}

public BookTypeManageInterFrm() {

setClosable(true);

setIconifiable(true);

setTitle("\u56FE\u4E66\u7C7B\u522B\u7BA1\u7406");

setBounds(100, 100, 582, 567);

JLabel lblNewLabel = new

JLabel("\u56FE\u4E66\u7C7B\u522B\u540D\u79F0\uFF1A");

s_bookTypeNameTxt = new JTextField();

s_bookTypeNameTxt.setColumns(10);

JButton btnNewButton = new JButton("\u67E5\u8BE2");

btnNewButton.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

bookTypeSearchActionPerformed(e);

}

});

btnNewButton.setIcon(new

ImageIcon(BookTypeManageInterFrm.class.getResource("/images/search.png")));

JScrollPane scrollPane = new JScrollPane();

JPanel panel = new JPanel();

panel.setBorder(new TitledBorder(null,

"\u8868\u5355\u64CD\u4F5C", TitledBorder.LEADING, TitledBorder.TOP,

null, null));

panel.setToolTipText("");

GroupLayout groupLayout = new

GroupLayout(getContentPane());

groupLayout.setHorizontalGroup(

groupLayout.createParallelGroup(Alignment.TRAILING)

.addGroup(groupLayout.createSequentialGroup()

.addContainerGap(85, Short.MAX_VALUE)

.addGroup(groupLayout.createParallelGroup(Alignment.TRAILING,

false)

.addGroup(groupLayout.createSequentialGroup()

.addComponent(lblNewLabel)

.addPreferredGap(ComponentPlacement.RELATED,

GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.addComponent(s_bookTypeNameTxt, GroupLayout.PREFERRED_SIZE,

139, GroupLayout.PREFERRED_SIZE)

.addGap(61)

.addComponent(btnNewButton))

.addComponent(scrollPane, Alignment.LEADING,

GroupLayout.DEFAULT_SIZE, 396, Short.MAX_VALUE)

.addComponent(panel, Alignment.LEADING,

GroupLayout.PREFERRED_SIZE, 411, GroupLayout.PREFERRED_SIZE))

.addGap(70))

);

groupLayout.setVerticalGroup(

groupLayout.createParallelGroup(Alignment.LEADING)

.addGroup(groupLayout.createSequentialGroup()

.addGap(38)

.addGroup(groupLayout.createParallelGroup(Alignment.BASELINE)

.addComponent(btnNewButton)

.addComponent(s_bookTypeNameTxt, GroupLayout.PREFERRED_SIZE,

GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)

.addComponent(lblNewLabel))

.addGap(35)

.addComponent(scrollPane, GroupLayout.PREFERRED_SIZE, 163,

GroupLayout.PREFERRED_SIZE)

.addGap(34)

.addComponent(panel, GroupLayout.PREFERRED_SIZE, 216,

GroupLayout.PREFERRED_SIZE)

.addContainerGap(27, Short.MAX_VALUE))

);

JLabel lblNewLabel_1 = new JLabel("\u7F16\u53F7\uFF1A");

idTxt = new JTextField();

idTxt.setEditable(false);

idTxt.setColumns(10);

JLabel lblNewLabel_2 = new

JLabel("\u56FE\u4E66\u7C7B\u522B\u540D\u79F0\uFF1A");

bookTypeNameTxt = new JTextField();

bookTypeNameTxt.setColumns(10);

JLabel lblNewLabel_3 = new JLabel("\u63CF\u8FF0\uFF1A");

JButton btnNewButton_1 = new JButton("\u4FEE\u6539");

btnNewButton_1.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

bookTypeUpdateActionPerformed(e);

}

});

btnNewButton_1.setIcon(new

ImageIcon(BookTypeManageInterFrm.class.getResource("/images/modify.png")));

JButton btnNewButton_2 = new JButton("\u5220\u9664");

btnNewButton_2.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

bookTypeDeleteActionPerformed(e);

}

});

btnNewButton_2.setIcon(new

ImageIcon(BookTypeManageInterFrm.class.getResource("/images/delete.png")));

GroupLayout gl_panel = new GroupLayout(panel);

gl_panel.setHorizontalGroup(

gl_panel.createParallelGroup(Alignment.LEADING)

.addGroup(gl_panel.createSequentialGroup()

.addGap(22)

.addGroup(gl_panel.createParallelGroup(Alignment.LEADING)

.addGroup(gl_panel.createSequentialGroup()

.addComponent(btnNewButton_1)

.addGap(61)

.addComponent(btnNewButton_2))

.addGroup(gl_panel.createSequentialGroup()

.addGroup(gl_panel.createParallelGroup(Alignment.TRAILING)

.addComponent(lblNewLabel_3)

.addComponent(lblNewLabel_1))

.addPreferredGap(ComponentPlacement.RELATED)

.addGroup(gl_panel.createParallelGroup(Alignment.LEADING)

.addGroup(gl_panel.createSequentialGroup()

.addComponent(idTxt, GroupLayout.PREFERRED_SIZE, 66,

GroupLayout.PREFERRED_SIZE)

.addPreferredGap(ComponentPlacement.UNRELATED)

.addComponent(lblNewLabel_2)

.addPreferredGap(ComponentPlacement.UNRELATED)

.addComponent(bookTypeNameTxt, GroupLayout.PREFERRED_SIZE,

114, GroupLayout.PREFERRED_SIZE))

.addComponent(bookTypeDescTxt, GroupLayout.PREFERRED_SIZE,

307, GroupLayout.PREFERRED_SIZE))))

.addContainerGap(30, Short.MAX_VALUE))

);

gl_panel.setVerticalGroup(

gl_panel.createParallelGroup(Alignment.LEADING)

.addGroup(gl_panel.createSequentialGroup()

.addContainerGap()

.addGroup(gl_panel.createParallelGroup(Alignment.BASELINE)

.addComponent(lblNewLabel_1)

.addComponent(idTxt, GroupLayout.PREFERRED_SIZE,

GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)

.addComponent(lblNewLabel_2)

.addComponent(bookTypeNameTxt, GroupLayout.PREFERRED_SIZE,

GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))

.addGap(18)

.addGroup(gl_panel.createParallelGroup(Alignment.LEADING)

.addComponent(lblNewLabel_3)

.addComponent(bookTypeDescTxt, GroupLayout.PREFERRED_SIZE, 82,

GroupLayout.PREFERRED_SIZE))

.addGap(18)

.addGroup(gl_panel.createParallelGroup(Alignment.LEADING)

.addComponent(btnNewButton_1)

.addComponent(btnNewButton_2))

.addContainerGap(18, 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(146);

bookTypeTable.getColumnModel().getColumn(2).setPreferredWidth(128);

scrollPane.setViewportView(bookTypeTable);

getContentPane().setLayout(groupLayout);

bookTypeDescTxt.setBorder(new LineBorder(new

;

this.fillTable(new 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) {

// TODO Auto-generated catch

block

e.printStackTrace();

} finally {

try {

dbUtil.closeCon(con);

} catch (Exception e) {

// TODO Auto-generated catch

block

e.printStackTrace();

}

}

}

private void

bookTypeUpdateActionPerformed(ActionEvent evt){

String id =

idTxt.getText();

String

bookTypeName=bookTypeNameTxt.getText();

String

bookTypeDesc=bookTypeDescTxt.getText();

if (StringUtil.isEmpty(id))

{

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,

"修改成功");

resetValue();

fillTable(new BookType());

} else {

JOptionPane.showMessageDialog(null,

"修改失败");

}

} catch (Exception e) {

// TODO Auto-generated catch

block

e.printStackTrace();

JOptionPane.showMessageDialog(null,

"修改失败");

} finally {

try {

dbUtil.closeCon(con);

} catch (Exception e) {

// TODO Auto-generated catch

block

e.printStackTrace();

}

}

}

private void

bookTypeDeleteActionPerformed(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();

boolean

flag=bookDao.existBookByBookTypeId(con, id);

if(flag){

JOptionPane.showMessageDialog(null,

"当前图书类别下有图书,不能删除此类别!");

return;

}

int deleteNum = bookTypeDao.delete(con,

id);

if (deleteNum == 1) {

JOptionPane.showMessageDialog(null,

"删除成功");

resetValue();

fillTable(new BookType());

} else {

JOptionPane.showMessageDialog(null,

"删除失败");

}

} catch (Exception e) {

// TODO Auto-generated catch

block

e.printStackTrace();

JOptionPane.showMessageDialog(null,

"删除失败");

} finally {

try {

dbUtil.closeCon(con);

} catch (Exception e) {

// TODO Auto-generated catch

block

e.printStackTrace();

}

}

}

}

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));

}

private void

bookTypeSearchActionPerformed(ActionEvent e) {

String s_bookTypeName =

this.s_bookTypeNameTxt.getText();

BookType bookType = new

BookType();

bookType.setBookTypeName(s_bookTypeName);

this.fillTable(bookType);

}

private void resetValue() {

this.idTxt.setText("");

this.bookTypeNameTxt.setText("");

this.bookTypeDescTxt.setText("");

}

}

在MainInfrm,java 中添加相应功能事件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值