Как реализовать динамический графический интерфейс в свинге

Прежде всего, извиняюсь за публикацию чего-то, возможно, слишком конкретного, но я не очень разбираюсь в Swing и, похоже, не могу найти хороших примеров, которые соответствовали бы моим потребностям.

Итак, я пытаюсь найти лучший способ реализовать динамический графический интерфейс для выбора критериев фильтрации в Swing:

Mockup of GUI to implement

Базовая модель - это класс, содержащий список критериев, которые могут быть отменены (т.е. применены с NOT-prefix) и свойство, указывающее, следует ли их комбинировать с помощью AND или OR.

Графический интерфейс позволяет пользователю добавлять, изменять или удалять критерии и выбирать оператор комбинирования (и / или). Первый критерий, естественно, не будет иметь селектора комбинации, а третий и последующие критерии будут просто использовать тот же оператор сочетания, что и второй.

Кнопки X справа будут использоваться для удаления критерия. При нажатии кнопки «Добавить» в нижнюю часть будет добавлена ​​новая строка компонентов. По мере внесения изменений они будут отражаться в базовой модели.

Конечно, я мог бы реализовать это довольно «примитивно», просто добавив компоненты в JPanel и затем соответствующим образом обновив модель, но я бы предпочел более аккуратное решение, такое как как это предусмотрено в TableModel.

Так что мне интересно, будет ли таблица с пользовательской TableModel и TableCellRenderer / Editor лучшим подходом, или есть лучший способ реализовать что-то подобное. Если таблица действительно является лучшим подходом, я был бы признателен за некоторые советы о том, как использовать TableCellRenderers или -Editors для достижения этой цели.

Заранее спасибо.

12
задан Rolf 15 June 2011 в 09:19
поделиться