remove a selected row from jtable on button click
21,193
It's very simple.
- Add
ActionListener
on button. - Remove selected row from the model attached to table.
Sample code: (table having 2 columns)
Object[][] data = { { "1", "Book1" }, { "2", "Book2" }, { "3", "Book3" },
{ "4", "Book4" } };
String[] columnNames = { "ID", "Name" };
final DefaultTableModel model = new DefaultTableModel(data, columnNames);
final JTable table = new JTable(model);
table.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
JButton button = new JButton("delete");
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
// check for selected row first
if (table.getSelectedRow() != -1) {
// remove selected row from the model
model.removeRow(table.getSelectedRow());
}
}
});
Author by
kdubey007
Updated on May 05, 2020Comments
-
kdubey007 about 4 years
I want to remove a Selected row from a table in java. The event should be performed on button click. I will be thank full if someone helps...
For example there is a table named sub_table with 3 columns i.e sub_id, sub_name,class. when I select one of the rows from that table and click delete button that particular row should be deleted..
-
cbr over 7 yearsIt's worth nothing that the "view" index given by
table.getSelectedRow()
is not always the same as the "model" index. For example, if the table is sorted, all of the indices may be different. You can convert the index fromgetSelectedRow()
into the model index withtable.convertRowIndexToModel(int index)
. -
Braj over 7 years@cubrr yes you are right. Thanks for correcting it.