d_bookclass.java
来自「图书管理系统」· Java 代码 · 共 269 行
JAVA
269 行
/*
* D_bookclass.java
*
* Created on 2007年6月23日, 下午9:07
*/
package 图书管理系统;
import javax.swing.*;
import java.sql.*;
public class D_bookclass extends javax.swing.JFrame {
public D_bookclass() {
initComponents();
con=connect.getcon();
BG_B.add(BR_all);
BG_B.add(BR_class);
T_class.setEnabled(false);
B_bstat.setEnabled(false);
B_bcancel.setEnabled(false);
this.setTitle("图书信息统计");
this.setBounds(300,250,500,400);
this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
try{
PreparedStatement sql=con.prepareStatement("select distinct 类别,count(书号) from 图书 group by 类别");
rs = sql.executeQuery();
sql=con.prepareStatement("select count(书号) from 图书");
ResultSet rs2=sql.executeQuery();
rs2.next();
String s2=rs2.getString(1);
String[] rowline={"总计",s2};
int rows=0,column=0;
ResultSetMetaData reMeta;
int i=0,j=0,n=0;
reMeta=rs.getMetaData();
CustomTableModel model=null;
model=new CustomTableModel(0,name.length,name,dataType);
bstable.setModel(model);
int p=reMeta.getColumnCount();
column=p;
String[] row=new String[p];
while(rs.next())
{
for(j=0;j<p;j++)
{
row[j]=rs.getString(j+1);
}
model.insertRow(i,row);
i++;
}
model.insertRow(i,rowline);
bstable.repaint();
this.validate();
}
catch(Exception ee)
{
JOptionPane.showMessageDialog(null,"数据库访问失败!");
ee.printStackTrace();
}
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
// <editor-fold defaultstate="collapsed" desc=" 生成的代码 ">//GEN-BEGIN:initComponents
private void initComponents() {
BG_B = new javax.swing.ButtonGroup();
T_class = new javax.swing.JTextField();
B_bstat = new javax.swing.JButton();
B_bcancel = new javax.swing.JButton();
BR_class = new javax.swing.JRadioButton();
BR_all = new javax.swing.JRadioButton();
jScrollPane1 = new javax.swing.JScrollPane();
bstable = new javax.swing.JTable();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
B_bstat.setText("\u7edf\u8ba1");
B_bstat.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
B_bstatActionPerformed(evt);
}
});
B_bcancel.setText("\u53d6\u6d88");
B_bcancel.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
B_bcancelActionPerformed(evt);
}
});
BR_class.setText("\u4ece\u6587\u672c\u6846\u8f93\u5165\u8981\u7edf\u8ba1\u7684\u7c7b\u522b:");
BR_class.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0));
BR_class.setMargin(new java.awt.Insets(0, 0, 0, 0));
BR_class.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
BR_classActionPerformed(evt);
}
});
BR_all.setText("\u7edf\u8ba1\u6240\u6709\u56fe\u4e66");
BR_all.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0));
BR_all.setMargin(new java.awt.Insets(0, 0, 0, 0));
BR_all.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
BR_allActionPerformed(evt);
}
});
bstable.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null}
},
new String [] {
"Title 1", "Title 2", "Title 3", "Title 4"
}
));
jScrollPane1.setViewportView(bstable);
org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(layout.createSequentialGroup()
.add(69, 69, 69)
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(BR_all)
.add(layout.createSequentialGroup()
.add(BR_class)
.add(23, 23, 23)
.add(T_class, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 113, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.add(61, 61, 61)
.add(B_bstat)))
.addContainerGap(org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.add(org.jdesktop.layout.GroupLayout.TRAILING, layout.createSequentialGroup()
.addContainerGap(433, Short.MAX_VALUE)
.add(B_bcancel)
.addContainerGap())
.add(layout.createSequentialGroup()
.addContainerGap()
.add(jScrollPane1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 490, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(layout.createSequentialGroup()
.addContainerGap()
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
.add(BR_class)
.add(T_class, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.add(B_bstat))
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(layout.createSequentialGroup()
.add(13, 13, 13)
.add(BR_all))
.add(layout.createSequentialGroup()
.add(28, 28, 28)
.add(B_bcancel)))
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 10, Short.MAX_VALUE)
.add(jScrollPane1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 295, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addContainerGap())
);
pack();
}// </editor-fold>//GEN-END:initComponents
private void B_bcancelActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_B_bcancelActionPerformed
// TODO 将在此处添加您的处理代码:
this.setVisible(false);
}//GEN-LAST:event_B_bcancelActionPerformed
private void B_bstatActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_B_bstatActionPerformed
// TODO 将在此处添加您的处理代码:
try{
PreparedStatement sql=con.prepareStatement("select 类别,count(书号) from 图书 where 类别=? group by 类别");
sql.setString(1,T_class.getText().trim());
rs=sql.executeQuery();
PaintTable paint=new PaintTable(rs,name,bstable,this,dataType);
}
catch(Exception ee)
{
JOptionPane.showMessageDialog(null,"数据库访问失败!");
ee.printStackTrace();
}
}//GEN-LAST:event_B_bstatActionPerformed
private void BR_allActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_BR_allActionPerformed
// TODO 将在此处添加您的处理代码:
try{
T_class.setEnabled(false);
B_bstat.setEnabled(false);
B_bcancel.setEnabled(false);
PreparedStatement sql=con.prepareStatement("select distinct 类别,count(书号) from 图书 group by 类别");
rs = sql.executeQuery();
sql=con.prepareStatement("select count(书号) from 图书");
ResultSet rs2=sql.executeQuery();
rs2.next();
String s2=rs2.getString(1);
String[] rowline={"总计",s2};
int rows=0,column=0;
ResultSetMetaData reMeta;
int i=0,j=0,n=0;
reMeta=rs.getMetaData();
CustomTableModel model=null;
model=new CustomTableModel(0,name.length,name,dataType);
bstable.setModel(model);
int p=reMeta.getColumnCount();
column=p;
String[] row=new String[p];
while(rs.next())
{
for(j=0;j<p;j++)
{
row[j]=rs.getString(j+1);
}
model.insertRow(i,row);
i++;
}
model.insertRow(i,rowline);
bstable.repaint();
this.validate();
}
catch(Exception ee)
{
JOptionPane.showMessageDialog(null,"数据库访问失败!");
ee.printStackTrace();
}
}//GEN-LAST:event_BR_allActionPerformed
private void BR_classActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_BR_classActionPerformed
// TODO 将在此处添加您的处理代码:
T_class.setEnabled(true);
B_bstat.setEnabled(true);
B_bcancel.setEnabled(true);
}//GEN-LAST:event_BR_classActionPerformed
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new D_bookclass().setVisible(true);
}
});
}
// 变量声明 - 不进行修改//GEN-BEGIN:variables
private javax.swing.ButtonGroup BG_B;
private javax.swing.JRadioButton BR_all;
private javax.swing.JRadioButton BR_class;
private javax.swing.JButton B_bcancel;
private javax.swing.JButton B_bstat;
private javax.swing.JTextField T_class;
private javax.swing.JTable bstable;
private javax.swing.JScrollPane jScrollPane1;
// 变量声明结束//GEN-END:variables
private Connection con;
private Statement stmt;
private String[] name={"类别","库存量"};
private String sql;
private Class[] dataType={String.class,String.class};
private ResultSet rs;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?