Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/189.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 用于在JTable中添加/删除行的侦听器_Java_Swing_Jtable - Fatal编程技术网

Java 用于在JTable中添加/删除行的侦听器

Java 用于在JTable中添加/删除行的侦听器,java,swing,jtable,Java,Swing,Jtable,在从JTable中添加/删除行后,是否有任何可用的事件将被触发?在表本身上,没有,但是TableModel负责在模型更改时触发适当的事件 您可以在TableModel JTable table = new JTable(); table.getModel().addTableModelListener(new TableModelListener() { @Override public void tableChanged(TableModelEvent e)

在从JTable中添加/删除行后,是否有任何可用的事件将被触发?

在表本身上,没有,但是
TableModel
负责在模型更改时触发适当的事件

您可以在
TableModel

JTable table = new JTable();
table.getModel().addTableModelListener(new TableModelListener() {

        @Override
        public void tableChanged(TableModelEvent e) {
            if (e.getType()==TableModelEvent.INSERT||e.getType()==TableModelEvent.DELETE) {
                // Do something
            }
        }
    });
是的,无论何时添加或删除行,都会触发

您需要创建一个,然后使用将其添加到TableModel中

如果实现了自己的TableModel,请确保在添加或删除行后调用
fireTableRowsDeleted(int firstRow,int lastRow)
fireTableRowsInserted(int firstRow,int lastRow)

例如:

theTable.getModel().addTableModelListner(yourTableListener);

其中,
yourTableListener
是实现TableModelListener接口的类的实例。

感谢@Thorn的评论