数据未添加到矢量变量中

时间:2017-04-30 11:20:16

标签: java swing

无法从另一个向量变量中获取元素的向量变量。

public class DealerView_GUI extends javax.swing.JInternalFrame {

    /**
     * Creates new form DealerView
     */
    String s;
    private Vector<Vector<String>> data;
   private Vector<String> header;
   DB db = new DB();
    public DealerView_GUI() {
        String[][] dfg = null;
        Connection con = db.getConnection();
        ResultSet rs = null;
        Object[][] dataR = null;
        try
        {
        PreparedStatement ps = con.prepareStatement("SELECT * FROM TEMP_TBL");
        rs = ps.executeQuery();
        ResultSetMetaData metaData = rs.getMetaData();
        int columns = metaData.getColumnCount();
        int cv = 0;
        while(rs.next())
        {
            Vector<String> row = new Vector<String>(columns);
            String s = rs.getString("FIRST_NAME");
            for (int i = 1; i <= columns; i++) {
                row.addElement(s);
            }
            data.addElement(row);
            cv++;
        }
        header = new Vector<String>();        
        header.add("Dealer Id");
        header.add("Dealer Name");
        header.add("Phone");
        header.add("Place");
        header.add("Paid Amount");
        header.add("Unpaid Amount");

        }
        catch(SQLException ex)
        {
            LogManager.logErr(ex);
        }
        initComponents();
        DefaultTableModel dm;
        dm = (DefaultTableModel)serachedDealer_jTable.getModel();
        serachedDealer_jTable.setModel(new javax.swing.table.DefaultTableModel(data,header){
        boolean[] canEdit = new boolean [] {
        false, false, false, false, false, false
    };

    public boolean isCellEditable(int rowIndex, int columnIndex) {
        return canEdit [columnIndex];
    }
        });

    }
}

错误显示在'data.addElement(row);'行的运行时。 向量变量(data)显示空指针异常。

1 个答案:

答案 0 :(得分:0)

您没有分配变量data,而且它是null

通过在构造函数的第一行写data = new Vector<>();来分配内存。