Прежде всего, приношу извинения за публикацию чего-то, возможно, слишком конкретного, но я не очень разбираюсь в Swing и, похоже, не могу найти хороших примеров, соответствующих моим потребностям.
Итак, я пытаюсь найти лучший способ реализовать динамический графический интерфейс для выбора критериев фильтрации в Swing:
Базовая модель — это класс, содержащий список критериев, которые можно инвертировать (т. е. применять с префиксом НЕ), и свойство, указывающее, следует ли их комбинировать с И или ИЛИ.
Графический интерфейс позволит пользователю добавлять, изменять или удалять критерии и выбирать оператор комбинации (и/или). Первый критерий, естественно, не будет иметь комбинационного селектора, а третий и последующие критерии будут просто использовать тот же комбинационный оператор, что и второй.
Кнопки X справа будут использоваться для удаления критерия. При нажатии кнопки «Добавить» новая строка компонентов будет добавлена внизу. По мере внесения изменений они будут отражаться в базовой модели.
Конечно, я мог бы реализовать это довольно «примитивно», просто добавив компоненты в JPanel, а затем соответствующим образом обновив модель, но я бы предпочел более аккуратное решение, например, предоставляемое TableModel.
Поэтому мне интересно, будет ли таблица с пользовательской TableModel и TableCellRenderer/Editor лучшим подходом, или есть ли лучший способ реализовать что-то подобное. Если таблица действительно лучший подход, я был бы признателен за некоторые указатели на то, как можно использовать TableCellRenderers или -Editors для достижения этой цели.
Заранее спасибо.