⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frmcount.java

📁 在管理员表中初始插入数据 usn: admin, pwd: 21232F297A57A5A743894A0E4A801FC3 初始用户账号/密码: admin (密码为 md5 加密) SRC
💻 JAVA
字号:
import java.awt.*;
import java.sql.ResultSet;
import java.sql.SQLException;

import javax.swing.*;
import javax.swing.border.TitledBorder;
import javax.swing.table.AbstractTableModel;

public class FrmCount extends JDialog {
    public FrmCount(Frame owner, String title, boolean modal) {
        super(owner, title, modal);
    	Gload.checkLogin(this);
        try {
            //setDefaultCloseOperation(DISPOSE_ON_CLOSE);
        	this.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
            jbInit();
            this.setBounds((Gload.de.width - 425)/2, (Gload.de.height-440)/2, 425, 440);
            this.setResizable(false);
            action();
        } catch (Exception exception) {
            exception.printStackTrace();
        }
    }
    
    private void action() {
        AbstractTableModel3 dm = new AbstractTableModel3();
        ResultSet rs = Conn.query("select count(id) as c from 类别");
        int i = 0;
        try {
			rs.next();
			i = rs.getInt("c");
			rs.close();
		} catch (SQLException e) {
			e.printStackTrace();
		}
        i++;
        dm.data = new String[4][i];
        String sql = "select '所有类别' 类别,sum(借出) 借出,sum(库存) 库存,(";
        sql += " select sum(V) from (select 价格*(库存+借出) as V from (select 价格,库存,借出 from (图书信息 left join 图书状态 on 图书信息.id=图书状态.书号)) as A) As AA) 价值 from 图书状态";
        sql += " union all";
        sql += " select 类名 as 类别, sum(借出) 借出,sum(库存) 库存, sum(价值) 价值 from";
		sql += " (select 书号,库存,借出,价格*(借出+库存) 价值,类名 from 图书状态,图书信息,类别 where 类别.id=类别ID and 图书信息.id=图书状态.书号)";
		sql += " as BB group by 类名";
        rs = Conn.query(sql);
        try {
		for (int j = 0; j<i && rs.next(); j++) {
			for (int k=0; k<4; k++) {
				dm.data[k][j] = rs.getString(k+1);
			}
		}
        } catch(Exception e1) {}
        
        JTable jTable1 = new JTable(dm);
        jScrollPane1.getViewport().add(jTable1);
    }
    
    public FrmCount() {
        this(new Frame(), "统计信息", false);
    }

    private void jbInit() throws Exception {
        this.getContentPane().setLayout(null);
        jTextArea1.setBorder(BorderFactory.createEtchedBorder());
        jTextArea1.setBounds(new Rectangle(8, 29, 405, 378));
        this.getContentPane().add(jLabel1);
        //this.getContentPane().add(jTextArea1);
        this.jTextArea1.setEditable(false);
        jLabel1.setFont(new java.awt.Font("Dialog", Font.BOLD, 14));
        jLabel1.setHorizontalAlignment(SwingConstants.CENTER);
        jLabel1.setHorizontalTextPosition(SwingConstants.CENTER);
        jLabel1.setText("统计信息");
        jLabel1.setBounds(new Rectangle(0, 2, 412, 26));
        jScrollPane1.getViewport().setBackground(Color.lightGray);
        jScrollPane1.setBounds(new Rectangle(5, 38, 410, 368));
        this.getContentPane().add(jScrollPane1);
    }
    JScrollPane jScrollPane1 = new JScrollPane();
    JTextArea jTextArea1 = new JTextArea();
    TitledBorder titledBorder1 = new TitledBorder("");
    JLabel jLabel1 = new JLabel();
    
    public static void main(String[] a) {
    	new FrmCount().show();
    }

}
class AbstractTableModel3 extends AbstractTableModel {
    private String[] title = {"类名", "借出", "库存", "价值"};
    public String[][] data;
    public AbstractTableModel3() {
        data = new String[title.length][1];
    }
    public int getColumnCount() { return title.length; }
    public int getRowCount() { return data[0].length;}
    public Object getValueAt(int row, int col) {
        if (data[col][row] == null)
            data[col][row] = "";
        return data[col][row];
    }
    public String getColumnName(int column){ return title[column];}//设置表格列名
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -