📜  java swing jtable 删除所有行 (1)

📅  最后修改于: 2023-12-03 14:42:16.609000             🧑  作者: Mango

Java Swing JTable 删除所有行

在Java Swing中,JTable是用于显示表格数据的组件。有时候,我们需要给JTable加上一个功能,即删除所有行。这个功能可以帮助我们清空JTable中的所有数据,以便重新加载新的数据。

下面将介绍如何使用Java Swing JTable删除所有行。

步骤一:创建JTable

首先,在Java Swing中创建一个JTable。我们可以使用以下代码来创建一个带有三列的JTable:

String[] columnNames = {"First Name", "Last Name", "Age"};
Object[][] data = {{"John", "Doe", 25}, {"Jane", "Doe", 24}, {"Bob", "Smith", 30}};
JTable table = new JTable(data, columnNames);

这将创建一个包含三列和三行数据的JTable。

步骤二:添加按钮

接下来,我们需要向窗体中添加一个“删除所有行”按钮。我们可以使用以下代码来创建一个JButton:

JButton btnDeleteRows = new JButton("删除所有行");
步骤三:处理按钮单击事件

现在我们需要向按钮添加一个ActionListener,以便在用户单击它时删除所有JTable行。我们可以使用以下代码来处理按钮单击事件:

btnDeleteRows.addActionListener(new ActionListener() {
     public void actionPerformed(ActionEvent e) {
         DefaultTableModel model = (DefaultTableModel)table.getModel();
         model.setRowCount(0);
     }
});

这将删除JTable中的所有行。它获取JTable的TableModel并将其行数设置为零。

现在,当用户单击“删除所有行”按钮时,所有的行将从JTable中删除。

完整代码
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class Main extends JFrame {
    private JTable table;

    public Main() {
        String[] columnNames = {"First Name", "Last Name", "Age"};
        Object[][] data = {{"John", "Doe", 25}, {"Jane", "Doe", 24}, {"Bob", "Smith", 30}};
        DefaultTableModel model = new DefaultTableModel(data, columnNames);
        table = new JTable(model);
        getContentPane().add(new JScrollPane(table));

        JButton btnDeleteRows = new JButton("删除所有行");
        btnDeleteRows.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                DefaultTableModel model = (DefaultTableModel) table.getModel();
                model.setRowCount(0);
            }
        });
        getContentPane().add(btnDeleteRows, "South");

        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setTitle("Java Swing JTable删除所有行");
        setSize(400, 300);
        setLocationRelativeTo(null);
        setVisible(true);
    }

    public static void main(String[] args) {
        new Main();
    }
}
总结

通过上述步骤,我们可以很容易地在Java Swing JTable中添加删除所有行的功能。这个功能非常有用,因为它帮助我们轻松地清除JTable中的所有数据,以便重新加载新的数据。