私のGUIアプリケーションがDBに接続していて、DBの製品をGUIのJTableに追加できました。 2番目のボタンをクリックすると、最初のボタンが上書きされます。私はそれがシステムまでの注文であり、クリックされたときに私がクリックしたものをテーブルに表示することを望むので、これを望んでいません。毎回値を上書きするのではなく、テーブルに追加する方法はありますか?ここに私のコードです。JTableの値が上書きされています
americanoSmall.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
try {
String query = "select ProductName, Price from product where ProductID = 24";
java.sql.PreparedStatement pst = connection.prepareStatement(query);
ResultSet rs = pst.executeQuery();
table.setModel(DbUtils.resultSetToTableModel(rs));
} catch (Exception e1)
{
e1.printStackTrace();
}
}
});
テーブルモデルを置き換えるのではなく、既に存在するテーブルモデルに追加するだけです。 –
*「毎回値を上書きするのではなく、テーブルに追加する方法はありますか?」 - はい、手を汚してください。基本的には、データベースから取得した値をとり、POJO(普通の古いJavaオブジェクト)をラップし、それらを管理できる 'TableModel'に追加します。これは 'JTable'と' TableModel' APIの基本コンセプトです。データ構造の管理を引き継ぐ 'DbUtils'や' DefaultTableModel'のようなものは使用しないでください。普通のものと同じように、より多くの機能が必要です – MadProgrammer