実行時にJTable
にローを追加しようとしていますが、データはデータベースから正常に到着していますが、ローはJTable
に追加されません。私はstackoverflowから多くのソリューションを試してみましたが、私は成功を収めていませんでした。JavaのJTableにローが追加されない
DefaultTableModel model = new DefaultTableModel(new String[]{ "Invoice Number", "Consignee's Name", "Invoice Date", "Amount" }, 0);
void setLabel(String s1,String s2) {
JOptionPane.showMessageDialog(this, "You Choose Invoice List of Period "+s1+" to "+s2, "Success", JOptionPane.INFORMATION_MESSAGE);
try {
Class.forName("com.mysql.jdbc.Driver");
java.sql.Connection con = DriverManager.getConnection ("jdbc:mysql://localhost:3306/resetdb", "root", "");
java.sql.Statement stmt = con.createStatement();
ResultSet rs = null;
String SQL;
SQL="Select * from bill_info where invdt BETWEEN '"+s1+"' AND '"+s2+"'";
rs = (ResultSet) stmt.executeQuery(SQL);
if (rs.next()) {
rs.beforeFirst();
while(rs.next()) {
count++;
String d = rs.getString("invoice");
String e = rs.getString("Cname");
String f = rs.getString("invdt");
String g = rs.getString("Amount");
model.addRow(new Object[]{ d,e,f,g });
}
}
}
catch(Exception e) {
JOptionPane.showMessageDialog(this,e.getMessage());
}
}
機能setLabel(String s1, String s2)
が、私はそのパラメータとしてString
形式で2つの日付を渡していた前フレームから呼び出されます。
は、ここに私のコードです。私の仕事は、選択した期間内のすべての請求書データを印刷することです。
チェックのためもう一度試しました。
System.out.println(d);
System.out.println(e);
System.out.println(f);
System.out.println(g);
? – Jerry06
これは参考になる可能性があります[リンク](http://stackoverflow.com/questions/295649/adding-rows-to-a-jtable) –
一見、それはうまく見えます。 'model'は実際にあなたの' JTable'で使われている 'TableModel'ですか?そうでない場合、何も表示されません。 – AJNeufeld