Computer >> Máy Tính >  >> Lập trình >> Java

Làm cách nào chúng ta có thể xóa một hàng đã chọn khỏi JTable trong Java?


A JTable là một lớp con của lớp JComponent để hiển thị các cấu trúc dữ liệu phức tạp. Thành phần JTable có thể tuân theo Bộ điều khiển chế độ xem mô hình (MVC) mẫu thiết kế để hiển thị dữ liệu trong hàng và cột . JTable có thể tạo TableModelListener, TableColumnModelListener, ListSelectionListener, CellEditorListener RowSorterListener các giao diện. Chúng tôi có thể xóa hàng đã chọn từ JTable bằng cách sử dụng removeRow () phương pháp của DefaultTableModel lớp học.

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) {
            // check for selected row first
            if(table.getSelectedRow() != -1) {
               // remove selected row from the 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();
   }
}

Đầu ra


Làm cách nào chúng ta có thể xóa một hàng đã chọn khỏi JTable trong Java?


Làm cách nào chúng ta có thể xóa một hàng đã chọn khỏi JTable trong Java?