1
MySQLのデータをJTableに表示したいが、テーブルの最後の行が表示されます。お願い助けて。 jt = new JTable(データ、列)は、各行ごとに新しいテーブルを作成する(前に削除する)が、正しいオプションが見つからないため、問題があることを理解しています。JTableのデータをMySQLから表示する方法
public class Test2 extends JPanel {
static final String USERNAME = "root";
static final String PASSWORD = "root";
static final String CONN_STRING = "jdbc:mysql://localhost:3306/mydbtest?useSSL=false";
JTable jt;
public Test2() {
try {
Connection conn;
conn = DriverManager.getConnection(CONN_STRING, USERNAME, PASSWORD);
Statement stmt = (Statement) conn.createStatement();
String query = "Select title, season, episode from movie";
ResultSet rs = stmt.executeQuery(query);
rs.beforeFirst();
while (rs.next()) {
String title = rs.getString("Title");
String season = rs.getString("Season");
String episode = rs.getString("Episode");
String[] columns = {"Title", "S", "E"};
String[][] data = {{title, season, episode}};
jt = new JTable(data, columns);
};
jt.setPreferredScrollableViewportSize(new Dimension(450, 63));
jt.setFillsViewportHeight(true);
JScrollPane jps = new JScrollPane(jt);
add(jps);
}
catch (Exception er) {System.err.println(er);}
}
public static void main(String[] args) {
JFrame jf = new JFrame();
Test2 t = new Test2();
jf.setTitle("Test");
jf.setSize(500,500);
jf.setVisible(true);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.add(t);
}
}
アイデアは非常にスマートですが、エラーjava.lang.NullPointerExceptionを表示しています。何故? – Yevgen
@ Yevgen:これは別の問題です。あなたがデバッグする必要がある問題です。もしあなたがそうしていないのであれば、この主題に関する標準的な質問に対する答えをチェックしてください:[NullPointerExceptionとは何ですか?それを修正する方法は?](http://stackoverflow.com/questions/218384/what-is-私はそれを知っていますか? –
@Yevgen:NullPointerExceptionをデバッグするヒューリスティックはほとんど同じです。例外のスタックトレースを読み、例外がスローされた行、慎重にその行を検査して、どの変数なぜなら、あなたのコードに戻ってその理由を調べるためです。あなたは何度も何度も走り回って、私を信頼します。 –