私は次の方法でJTableを作成しました。この表には5つの列と4つの行があります。 この状態では、4行はすべて空です。既存のJTableに動的に値を追加する
String[] columns = {"Emplotee ID","Name","Address","City","Salary"};
//Table that already have 4 empty rows
DefaultTableModel model = new DefaultTableModel(columns,4);
JTable detail = new JTable(model);
JScrollPane scroll = new JScrollPane(detail);
ここで、空の行に文字列配列を使用して値を追加します。 このプログラムのGUIには、ユーザー入力を取得するための5つのJTextFieldがあります。 JTextFiledsに値を入力して「追加」ボタンをクリックすると、すべてのJTextFiled値がString配列の値で取得されます。
String[] values = new String[6];
//When click addButton all textFiled data should go into table
addButton.addMouseListener(new MouseAdapter(){
@Override
public void mouseClicked(MouseEvent evt){
values[0] = idField.getText(); //get JTextFields data into array
values[1] = nameField.getText();
values[2] = addressField.getText();
values[3] = cityField.getText();
values[4] = salaryField.getText();
//What now?
}
});
私はこれを使用してテーブルに新しい行を追加できます。しかし、これは私が望む機能ではありません。
DefaultTableModel newModel = (DefaultTableModel)detail.getModel();
newModel.addRow(values);
このリンクを見かけましたか?それは答えでなければなりません。 http://stackoverflow.com/questions/3549206/how-to-add-row-in-jtable – Rjiuk
これは私が欲しいものではありません。私はすでに4つの空行を持つJTableを持っています。別の行を追加する必要はなく、既存の行に値を追加するだけです。 –