2013-12-12 2 views
0

У меня есть панель вкладок с 10 вкладками (каждая с контроллером). В одном из них у меня есть таблица «категории», где пользователь может добавлять/редактировать/удалять категории. Другие вкладки имеют одни и те же «категории» категории, меньше, в режиме только для чтения, где пользователь может выбирать только категории. Затем, когда таблицы категорий «изменены» на вкладке категорий, я хочу, чтобы все остальные таблицы обновлялись в категориях других вкладок. То, что я думал (еще не реализовано), на верхней панели, чтобы добавить слушателя, который обнаруживает изменения вкладок, и, когда пользователь покидает вкладку категорий, проверьте, были ли внесены изменения. Если да, вызовите все используемые контроллеры для обновления собственных таблиц категорий.TabPane JavaFX - измените одну вкладку, обновите остальные

Вопрос, который у меня есть, есть, если есть менее громоздкий способ сделать это. Что-то вроде отправки сообщения «таблица была изменена», и все вкладки «слушателей» сообщения обновляют свои таблицы. Подобно локальному JMS, а не клиенту-серверу. Есть ли что-то вроде этой службы обмена сообщениями, которая может использоваться в одном приложении или решение, которое я поднял выше, является наиболее последовательным? Я думаю, что речь идет о Java, чем JavaFX. Большое спасибо.

ответ

0

Самый простой способ - удерживать категории в ObservableList на некотором верхнем уровне (скажем, в вашем подклассе приложения), и все таблицы имеют ссылку на этот список (table.setItems(yourList)). Всякий раз, когда изменения внесены на вкладке категорий, другие вкладки автоматически отражают изменение.

+0

Благодарим вас за ответ. Я думал о «общем решении», которое вы знаете, чтобы применить его в любом месте. Хорошо, пока я попробую ваше решение. Благодаря! – roneypc

Смежные вопросы