テーブルと、行を削除/追加するためのいくつかのボタンを作成しました。問題は、新しい行を追加するときに、そのテーブルにまだ存在しない値をフィールド名に挿入する必要があることです。説明させてください。
デフォルトのテーブルは次のとおりです。
ここで、ステーション3を削除するとします。
新しいステーションを追加する場合、新しいステーション名ステーション3(リストにありません)を追加したいのですが、新しいステーション5を追加しています(明らかに私のコードが正しくないため)。
[ボタンの追加]アクションイベントのコードは次のとおりです。
private void jButton10ActionPerformed(java.awt.event.ActionEvent evt) {
DefaultTableModel model = (DefaultTableModel)jTable1.getModel();
String s2 = "";
String s1 = "Station 1 Station 2 Station 3 Station 4 Station 5";
int tb1rows = jTable1.getRowCount();
if (tb1rows == 5) {
// ERROR - MAXIMUM STATION NUMBER
}
else {
for (int i=0; i<tb1rows;i++) {
s2.concat(jTable1.getValueAt(i,1).toString());
s2.concat(" ");
}
String[] s3=s2.split(" ");
for (int i=0;i<s3.length;i++) {
if (s1.contains(s3[i])) {
System.err.println("contains");
System.out.println(s3[i]);
}
}
model.insertRow(jTable1.getRowCount(),new Object[] {jTable1.getRowCount() + 1,"Station " + (jTable1.getRowCount()+1),10,false,0,Color.BLACK});
}
}
私のロジックの何が問題になっていますか?その列にない「ステーションx」を取得して再度追加できるように、問題を処理するためのより良い方法はありますか?
よろしくお願いします。