JTable là lớp con của JComponent hiển thị cấu trúc dữ liệu phức tạp. JTable tuân theo mô hình Model View Controller (MVC) để hiển thị dữ liệu theo hàng và cột. JTable tạo ra các interface TableModelListener, TableColumnModelListener, ListSelectionListener, CellEditorListener và RowSorterListener. Chúng ta có thể xóa hàng được chọn từ JTable bằng phương thức removeRow() của lớp DefaultTableModel.
Cú pháp
public void removeRow(int row)
Ví dụ
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.*;
public class RemoveSelectedRowTest extends JFrame {
private JTable table;
private DefaultTableModel model;
private Object[][] data;
private String[] columnNames;
private JButton button;
public RemoveSelectedRowTest() {
setTitle("RemoveSelectedRow Test");
data = new Object[][] {{"101", "Ramesh"}, {"102", "Adithya"}, {"103", "Jai"}, {"104", "Sai"}};
columnNames = new String[] {"ID", "Name"};
model = new DefaultTableModel(data, columnNames);
table = new JTable(model);
table.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
button = new JButton("Remove");
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent ae) {
// kiểm tra hàng được chọn trước
if(table.getSelectedRow() != -1) {
// xóa hàng được chọn khỏi model
model.removeRow(table.getSelectedRow());
JOptionPane.showMessageDialog(null, "Selected row deleted successfully");
}
}
});
add(new JScrollPane(table), BorderLayout.CENTER);
add(button, BorderLayout.SOUTH);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(400, 300);
setLocationRelativeTo(null);
setVisible(true);
}
public static void main(String args[]) {
new RemoveSelectedRowTest();
}
}
Kết quả

