В Swing, организация MVC выполняется рекурсивно.
На первый взгляд, каждый JComponent может быть представлением, отображающим связанную модель.В случае JTextPane соответствующая модель задается методом <a href="http://download.oracle.com/docs/cd/E17409_01/javase/6/docs/api/javax/swing/JTextPane.html#getStyledDocument()" rel="nofollow noreferrer">getStyledDocument()</a>
: документ обновляется JTextPane, а уровень управления предоставляется различными слушателями Swing, которые позволяют вам взаимодействоватьс моделью и видом.
Однако на другом уровне есть другой MVC, где JComponent становится моделью: это LnF.Действительно, в этом слое JComponent визуализируется с использованием ComponentRenderer, где слушатели запускают перерисовку представления из обновления модели.Но эти конфигурации почти не представляют интереса для «базового» кода Swing.
Учитывая обнаружение аналога MVC, я немного озадачен этим вопросом.
Действительно, насколько я знаю,если JComponent знает свою связанную модель, он не должен знать своих слушателей, кроме возможности вызывать их методы прослушивания (определяемые их интерфейсом * Listener).
Кроме того, developer.com имеет anстатья на тему Swing / MVC .