2010-10-18 3 views
0

У меня есть JPanel, который содержит JScrollPane, который содержит JPanel как таковой:JPanel внутри JScrollPane внутри JPanel игнорируя горизонтальную обертку

masterPanel.add(buttonPanel, BorderLayout.NORTH); 
inner.setLayout(new BorderLayout()); 
inner.add(infoPanel, BorderLayout.NORTH); 
inner.add(writingPanel, BorderLayout.CENTER); 
beholder = new JScrollPane(inner); 

masterPanel.add(beholder, BorderLayout.CENTER); 

Я хочу смотрящего быть JScrollPane так, чтобы кнопка панели будет отображаться во все времена при прокрутке смотрителя (внутренняя панель прокрутки). Все это прекрасно работает, но проблема заключается в том, что панели внутри смотрителя не обводят строку. Таким образом, у меня есть длинная строка текста в infoPanel, которая вызывает очень длинный нежелательный горизонтальный прокрутки.

Если я только что изменил последнюю строку, чтобы добавить внутреннюю, а не контрольную, она отлично работает (обертывает правильно), но тогда панель кнопок не будет оставаться наверху, когда пользователь прокручивается вниз.

Я полностью застрял. В основном, мой вопрос заключается в том, как получить панели внутри JScrollPane для переноса слов в обычном режиме.

Проблема обертывания по горизонтали. Даже если я установил beholder.setPreferredSize() на очень низкое значение x и y, он будет полностью игнорировать размер x, даже если он, по-видимому, нормально выполняет размер y.

+0

какой компонент вы используете для отображения текста в информационной панели? –

+0

это просто JPanel –

ответ

0

По некоторым причинам, эта проблема решается с помощью вызова:

inner.setPreferredSize(inner.getPreferredSize()); 

Это приведет к тому, чтобы произойти обертка.

0

Я думаю, что Scrollable Panel поможет вам.

+0

Может быть, я не понимаю, как его использовать, но он не работает вообще. На самом деле теперь он растягивает компонент в обоих направлениях. –

+0

Вы играли с демо? Вы можете управлять растяжением отдельно для вертикального и горизонтального. Возможно, я не понимаю вопроса, и вы не опубликовали SSCCE, поэтому я не вижу вашей конкретной проблемы. – camickr

Смежные вопросы