我有一个表,里面有我输入的所有学生的详细信息。它在我屏幕的左边。在右边,我有另一个带有文本字段的面板,它根据表中的选择显示学生的详细信息。我们也可以修改这些细节。为了存储修改后的详细信息,我添加了一个名为'post‘的按钮
但这里的问题是,当我更改了一些学生的详细信息时,如果我直接在表格中选择了其他学生,而没有点击“post”。然后在选择该学生之前,我需要显示一条警告消息。
我有一个扩展ScrollPane并实现ListSelectionListener的类StudentTable。我还有另一个类StudentController,它也实现了ListSelectionListener。我正在使用StudentTable类创建我的表,并将listSelectionListener添加为StudentController。我已经在两个类中重写了valueChanged(),即StudentTable和StudentController。但是根据我的新需求,我必须只调用StudentController的valueChanged(),并且从那里我需要停止对StudentTable的调用。那么有没有办法像consume()一样停止这个事件呢?
谁知道我怎么才能做到这一点?
发布于 2016-05-04 21:21:43
尝试将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
}
});https://stackoverflow.com/questions/37028643
复制相似问题