Swing Architecture
Main components (e.g. JList, JButton, etc.) are wrappers hiding the internal complexity
View and controller are usually integrated into one class (usually with suffix UI, eg. BasicButtonUI)
components that are containers may use custom renderers to display their data (e.g. DefaultListCellRenderer)