A JTable เป็นคลาสย่อยของคลาส JComponent สำหรับแสดงโครงสร้างข้อมูลที่ซับซ้อน คอมโพเนนต์ JTable สามารถทำตาม Model View Controller (MVC) รูปแบบการออกแบบเพื่อแสดงข้อมูลใน แถวและคอลัมน์ . JTable สามารถสร้าง TableModelListener, TableColumnModelListener, ListSelectionListener, CellEditorListener และ RowSorterListener อินเทอร์เฟซ เราสามารถ ลบแถวที่เลือก จาก JTable โดยใช้ removeRow() วิธีการของ 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(); } }
ผลลัพธ์