Ваш класс LogView расширяет JPanel и, таким образом, если вы его не измените, он использует макет JPanel по умолчанию FlowLayout.Компоненты, содержащиеся в контейнере, использующем FlowLayout, не изменяют размер, когда контейнер меняет размер, и поэтому, если вы хотите, чтобы это происходило, вам не нужен слушатель компонента - вам просто нужно изменить менеджер макета для LogView JPanel на BorderLayoutили что-то подобное, что позволяет расширить его компонент, вот и все.Одна строка кода:
public LogView(final JFrame contentPane) {
// .......
setLayout(new BorderLayout()); // add this, that's it
add(mainPanel);
}
Другой вариант - избавиться от mainPanel, так как он вообще не нужен, установить макет объекта LogView равным GridBagLayout и добавить свои компоненты.непосредственно к объекту LogView.