java - 在 JavaFX 网格中粘贴数据后如何触发单元格事件?

标签 java javafx

我根据此处给出的解决方案在 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/

相关文章:

java - 使数组的元素为空

JavaFX:初始化单选按钮选择状态

JavaFX "y"在 Canvas 上的位置

java - 为什么我无法在 JCreator 中使用 JavaFX?

java - 使用超时处理程序从 PHP 调用 Java

java - 如何同时扫描多个txt文件?

java - 如何从 android native 代码调用 ShowForm?

java - 如何从 JVM 堆栈跟踪知道它处于 GC 暂停状态

java - JFoenix 的标准对话框按钮样式

JavaFX 使用数值更新文本字段