JScrollPane не уменьшится в размере - PullRequest
0 голосов
/ 26 декабря 2011

Я написал простой графический интерфейс с 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;
}
...