Я пытаюсь написать графический интерфейс Java для таблиц и пытаюсь следовать шаблону разработки Model View Controller и принципу инверсии зависимости, как описано здесь:
https://en.wikipedia.org/wiki/Dependency_inversion_principle
Проблема в том, что я хочу вставить кликабельную кнопку в таблицу.Я нашел несколько примеров для этого, как в ссылке ниже:
http://esus.com/jbutton-cell-jtable/
Основной код выглядит следующим образом:
class StrategyTableModel extends AbstractTableModel {
this.data = new Object[rows][COLUMN_NAMES.length];
@Override
public Object getValueAt(int rowIndex, int columnIndex) {
switch (columnIndex) {
case 1: final JButton button = new Jbutton();
return button;
default: return data[rowIndex][columnIndex];
}
}
Теперь,в моей интерпретации шаблона проектирования контроллера представления модели я теперь встроил объект представления (кнопку) в объект модели, и мне нужно присоединить прослушиватель действий, соединяющий контроллер с кнопкой.Таким образом, представление модели и контроллер станут взаимозависимыми, если я последую этому подходу.Но я не могу придумать простой способ обойти это.Есть ли лучший подход?