Да, вполне приемлемо создать модель для самого представления, которое полностью отделено от модели приложения.Swing уже делает это внутренне, отслеживая расположение элементов, строк и столбцов в таблицах и положение курсора в текстовых полях.
Я бы порекомендовал сохранить логику модели представления как слабо связанной с фактическим компонентомиспользуйте как можно более простой код, например, создайте отдельный класс для каждой ответственности или поведения, которое не расширяет фактический объект Swing.
Например, если мы хотим убедиться, что у нас только один экземпляропределенного типа JFrame
, такого как диалоговое окно «Параметры» или даже главное окно приложения, это можно сделать с помощью одноэлементного класса, который содержит ссылку на фрейм и возвращает его, когда кто-то вызывает ваш метод, создавая его, еслион не существует, и делает его видимым, если он скрыт.Это очень распространено.