我有一个表格,里面有我输入的所有学生详细信息。它在我屏幕的左边。在右边,我有另一个带有文本字段的面板,它根据表中的选择显示学生的详细信息。我们也可以修改这些细节。为了存储修改后的详细信息,我添加了一个名为"发布"的按钮
但这里的问题是,当我更改一些学生的详细信息时,如果我直接在表中选择其他学生,而不点击"发布"。然后在选择那个学生之前,我需要显示一条警告信息。
我有一个类StudentTable
,它扩展了ScrollPane
并实现了ListSelectionListener
。我还有另一个名为StudentController
的类,它也实现了ListSelectionListener。我正在使用StudentTable
类创建我的表,并将listSelectionListener添加为StudentController
。并且我在StudentTable
和StudentController
这两个类中都超过了valueChanged()
。但根据我的新要求,我只需要调用StudentController
的valueChanged()
,然后我需要停止对StudentTable
的调用。那么,有什么方法可以像consume()
一样阻止这种事件吗
有人知道我该如何做到这一点吗?
尝试将ListSelectionListener
添加到表的SelectionModel
中,然后每次更改选择时,检查数据和post
按钮的状态。如果没有发布数据,请显示警告。
table.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
@Override
public void valueChanged(ListSelectionEvent e) {
// TODO check here for your data, if changed and not posted, show warning
}
});