Using DefaultCaret.NEVER_UPDATE in the SuggestionLog class, managed to get the scrollbar to scroll properly (i.e. not move to the bottom every time the panel updated).  The image still stretches though.
Fixed image stretching.  Now background drawing logic is in SuggestionLogPanel class.