Компоненты Swing определяют свой собственный предпочтительный размер.Обычно это делается следующим образом:
JTextArea textArea = new JTextArea(5, 20);
, поэтому текстовая область может иметь размер, отображающий 5 строк данных и 20 символов "W".Обычно JTextArea затем добавляется в JScrollPane, чтобы при необходимости появлялись полосы прокрутки.
Однако я предполагаю, что это не совсем то, что вам нужно.Вы пытаетесь полностью разместить текст в JTextArea.Проблема в том, что текстовая область не знает, как рассчитать свой предпочтительный размер, потому что она не знает, какую ширину использовать для текстовой области.
Первый пакет () приведет к тому, что ширина рамки будет равна ширине компонентов строки заголовка, что означает, что размер текстовой области будет соответствовать ширине панели содержимого.Для второго пакета () текстовая область может теперь вычислить свою предпочтительную высоту, зная ее текущую ширину.
Вы можете предотвратить необходимость второго пакета (), предоставив подсказку для текстовой области, используя что-то вроде:
wrapping.setSize(200, 1);
Теперь текстовая область имеет размер после первого пакета ().