JFrame
s、JTextField
などを含むJCombobox
フォームがあり、それらの値を変数に受け取ることができます。次に、受け取ったデータをJTable
ユーザーが[追加]またはそのようなものをクリックしたときの新しい行。
Net-beansを使用してJTable
を作成しました。問題は、これらの変数からテーブルの行にデータを追加するコードです。基本的な例をいただければ幸いです。私は数多くの例を試し、ActionListener
のJButton
にコードを追加しましたが、何も起こりません。私が試した例は次のとおりです。 JTableに行を追加する方法 および AbstractTableModelメソッドを使用してJTableに行を追加する方法?
任意のヘルプをいただければ幸いです。
Netbeans GUIビルダーでJTablesを操作するためのPeeskilletの不完全なチュートリアル
フレームにボタンを追加します。ユーザーが行を送信する準備ができたら、このボタンをクリックします
Events -> Action -> actionPerformed
を選択します次のようなコードが自動生成されます
private void jButton1ActionPerformed(Java.awt.event.ActionEvent) {}
jTable1
にはDefaultTableModel
が付きます。データを使用してモデルに行を追加できます
private void jButton1ActionPerformed(Java.awt.event.ActionEvent) {
String data1 = something1.getSomething();
String data2 = something2.getSomething();
String data3 = something3.getSomething();
String data4 = something4.getSomething();
Object[] row = { data1, data2, data3, data4 };
DefaultTableModel model = (DefaultTableModel) jTable1.getModel();
model.addRow(row);
// clear the entries.
}
そのため、2つのテキストフィールド、コンボボックス、チェックボックスなどのデータセットごとに、ボタンを押すたびにそのデータを収集し、モデルに行として追加できます。
このコードをテンプレートとして使用できます。要件に応じてカスタマイズしてください。
DefaultTableModel model = new DefaultTableModel();
List<String> list = new ArrayList<String>();
list.add(textField.getText());
list.add(comboBox.getSelectedItem());
model.addRow(list.toArray());
table.setModel(model);
ここでDefaultTableModel
はJTable
に行を追加するために使用され、詳細情報を取得できます here 。
String[] tblHead={"Item Name","Price","Qty","Discount"};
DefaultTableModel dtm=new DefaultTableModel(tblHead,0);
JTable tbl=new JTable(dtm);
String[] item={"A","B","C","D"};
dtm.addRow(item);
ここで、これが解決策です。