Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

Java의 JTable에서 선택한 행을 어떻게 제거합니까?


JTable 복잡한 데이터 구조를 표시하기 위한 JComponent 클래스의 하위 클래스입니다. JTable 구성 요소는 Model View Controller(MVC)를 따를 수 있습니다. 행과 열에 데이터를 표시하기 위한 디자인 패턴 . JTable은 TableModelListener, TableColumnModelListener, ListSelectionListener, CellEditorListener 를 생성할 수 있습니다. 및 RowSorterListener 인터페이스. 선택한 행을 제거할 수 있습니다. removeRow() 를 사용하여 JTable에서 DefaultTableModel 메소드 수업.

구문

public void removeRow(int row)

예시

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();
   }
}

출력


Java의 JTable에서 선택한 행을 어떻게 제거합니까?


Java의 JTable에서 선택한 행을 어떻게 제거합니까?