JTextArea со странным поведением при изменении размера JFrame - PullRequest
1 голос
/ 15 апреля 2009

Я использую некоторые JTextArea в своем приложении Swing. Окруженный JScrollPane добавляется к JPanel с помощью менеджера GridBagLayout.

// Pseudo Code ----

JTextArea area = new JTextArea();
area.setRows(3);

JScrollPane sp = new JScrollPane(area);

JPanel p = new JPanel(new GridBagLayout());
p.add(sp, new GridBagConstraints(
          0, 0, 1, 1, 1, 0, WEST, HORIZONTAL, new Insets(4, 4, 4, 4), 0, 0));

// ----------------

Все отлично работает. Нет проблем, пока я не изменю размер JFrame. Тогда оба JTextArea свернут в один ряд . Однако есть место для хотя бы одного из них.

Почему элемент сворачивается в одну строку?
Кто-нибудь знает решение? У кого-нибудь есть идеи?

Ответы [ 4 ]

2 голосов
/ 15 апреля 2009

Также убедитесь, что вы устанавливаете свойство 'предпочитаемый размер' на панели прокрутки. У меня было странное поведение (сворачивание / исчезновение панелей / полей), когда размеры фреймов и панелей изменялись, когда это свойство не установлено.

2 голосов
/ 15 апреля 2009

Я полагаю, что это потому, что ваш весовой коэффициент установлен на 0 (шестой аргумент конструктора GridBagConstraints) Вам нужно будет увеличить это значение, если вы хотите, чтобы ваш компонент рос вертикально.

0 голосов
/ 04 мая 2009

У меня недавно была похожая проблема, когда у меня было два JTextAreas с разными значениями GridBagConstraint.weighty, и оба были установлены в GridBagConstraint.fill = ОБА Когда я изменил бы текст в JTextAreas, они изменили бы размеры (что, я ожидаю, не произойдет, если будут установлены веса и значения заполнения). Как ни странно, все, что мне нужно было сделать, это установить предпочтительный размер для JScrollPanes, которые окружали JTexAreas. Размер предпочтительного размера может быть любым, так как «fill = BOTH» приводил к игнорированию предпочтительного размера, но он делал что-то волшебное, чтобы решить мою проблему.

0 голосов
/ 15 апреля 2009

Если я использую BorderLayout вокруг своих элементов, это работает.
Пит, MrWiggles, спасибо за вашу помощь !!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...