如何從 Java 中的 JTable 中移除選中的行?
JTable 是用於顯示覆雜資料結構的 JComponent 類的子類。一個 JTable 元件可以遵循**模型檢視控制器 (MVC)** 設計模式來顯示行和列中的資料。JTable 可以生成**TableModelListener、TableColumnModelListener、ListSelectionListener、CellEditorListener 和RowSorterListener 介面。我們可以使用DefaultTableModel 類的removeRow() 方法從 JTable 中移除選定的行。
語法
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
iOS
HTML
CSS
安卓
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP