Я пишу графический интерфейс. В этом графическом интерфейсе у меня есть раскрывающийся список, в котором я могу выбрать разных лиц. У каждого человека есть панель CardLayout и на этой панели есть таблица с информацией о себе и вещах, которыми они владеют.Разделение нескольких JTables
Я написал класс под названием PanelTableItems(Person person)
.
В начале программы я использую этот класс для создания mutliple этих таблиц (по одному для каждого человека в моей программе). И каждая панель CardLayout имеет одну из этих таблиц. Я только что внедрил ListSelectionListener
, чтобы сохранить последнюю выбранную строку, в которой я использую частную функцию, чтобы получить выбранный элемент из таблицы. Однако, когда я реализовал этот приемник выбора, я попытался с печатью, и по какой-то причине кажется, что если у меня есть два человека в моей программе, слушатель выбора сделал два отпечатка, даже если «вторая» таблица не была видна и поэтому не выбрана.
Вот мой вопрос:
Как убедиться, что только работать таблицы, которая в настоящее время в «вид», используя CardLayout? Вторая панель скрыта, но кажется, что все вызовы функций первой панели также управляются на втором, так как они одного типа.
Я могу опубликовать MCVE, но это скорее теоретический вопрос, чем вопрос, связанный с реальным кодированием.
Заранее спасибо.
для меня «У каждого человека есть панель CardLayout и в этой панели есть таблица с информацией о себе и вещах, которыми они владеют». == JTable с RowFilter вместо 'И каждая панель CardLayout имеет одну из этих таблиц. ', Потому что вы можно удалить столбец из представления JTables, данные по-прежнему доступны из модели, там вы можете хранить кучу данных. – mKorbel