Я написал простой графический интерфейс с DesignGridLayout в качестве менеджера компоновки.
У меня есть 2 JTextFields, под ними JScrollPane, содержащая JTextArea, и прямо под ним у меня есть кнопка.1005 *
После максимизации JFrame все красиво растягивается, чтобы заполнить экран.Проблема начинается, когда я пытаюсь восстановить рамку до ее первоначального размера.размер JScrollFrame Vertical остается слишком большим, и кнопка не отображается, поскольку она покрыта слишком большой панелью Jscroll.Проблема та же для ручного изменения размера.JScrollPane устанавливает новое значение для его вертикального размера в зависимости от того, насколько сильно я его растягиваю.
Я попытался переопределить метод getScrollableTracksViewportHeight () из интерфейса Scrollable, но это никак не отразилось.Кроме того, у меня была вся эта настройка внутри Jpanel, которую я удалил, но она все та же.
Любые идеи будут оценены.
edit: добавлены образцы кода.
Этот код создает большую часть графического интерфейса:
DesignGridLayout layout = new DesignGridLayout(frame);
layout.row().grid().empty().add(new JLabel("someText1"), someText1);
layout.row().grid().empty().add(new JLabel("someText2"), someText2);
layout.emptyRow();
layout.row().grid().add(new JSeparator());
layout.row().grid().empty().add(titleLabel).empty();
layout.row().grid().add(textarea("",5,6));
layout.row().grid().empty().add(button).empty();
Этот код создает JScrollPane:
private JScrollPane textarea(String content, int rows, int columns)
{
JTextArea textArea = new JTextArea(rows, columns);
JScrollPane scrollPane = new JScrollPane(textArea);
return scrollPane;
}