Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Cách xóa hàng được chọn khỏi JTable trong Java?

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ả

Cách xóa hàng được chọn khỏi JTable trong Java?

Cách xóa hàng được chọn khỏi JTable trong Java?