Как вызвать события ячейки после вставки данных в сетку JavaFX? - PullRequest
0 голосов
/ 13 июня 2019

Я определил метод вставки в классе контроллера на основе решения, приведенного здесь: Как скопировать / вставить ячейки таблицы в 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 после вставки данных?

1 Ответ

0 голосов
/ 15 июня 2019

Таблица не работает так, как вы думаете. Если вы хотите иметь полностью настраиваемую структуру, используйте панель сетки. Его сложно создать, но после того, как вы сделаете его похожим на таблицу, у вас будет гораздо больше возможностей для настройки. Я сделал это в недавнем проекте, где мне нужно было вставить таблицу в ячейку. С сеткой и текстовыми полями было намного проще.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...