我根据此处给出的解决方案在 Controller 类中定义了粘贴方法:How to copy/paste table cells in a TableView 。一切都很顺利,除了一个细节:一些粘贴数据的单元格具有应该触发但没有触发的事件。
例如:
public class MyController {
private TableColumn<MyBean, String> valueColumn;
...
valueColumn.setOnEditCommit(e -> doSomeStuff(e));
private void doSomeStuff(CellEditEvent<MyBean, String> event) {
...
}
在此示例中,用户按 ENTER 键后,将调用 doSomeStuff 方法,这是预期的行为。
我实现的粘贴方法的问题是它不会影响单元格,只会影响其内容(其 ObservableValue)。这当然意味着粘贴数据后,不会触发任何事件。
我的问题:有没有一种方法可以触发相同的事件,或者类似的事件,在粘贴数据后调用我的 doSomeStuff 方法?
最佳答案
表格 View 并不像您想象的那样工作。如果您想要完全可定制的结构,请使用网格 Pane 。创建一个表格很困难,但是当你使它看起来像一张表格后,你就有更多的选项可以自定义。 我在最近的一个项目中做到了这一点,其中需要我在单元格内插入表格。使用网格 Pane 和文本字段要容易得多。
关于java - 在 JavaFX 网格中粘贴数据后如何触发单元格事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56587806/