Справка полосы прокрутки текстового поля GUI - PullRequest
0 голосов
/ 12 апреля 2010

1. JTextArea messages = new JTextArea (5, 30); 2. JScrollPane scrollTextBox = new JScrollPane (сообщения, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); 3. Контейнерное окно; 4. ... 5. messages.setPreferredSize (new Dimension (500,100)); 6. messages.setLineWrap (истина); 7. messages.add (scrollTextBox, BorderLayout.CENTER); 8. window.add (сообщения); 9.

10. Я пытаюсь написать текстовое поле в графическом окне, которое возвращает сообщения с сервера, ему нужна полоса прокрутки, потому что сообщения непрерывно отправляются, но на данный момент видны только первые несколько строк, а остальные нет, потому что я не могу заставить свиток работать. 11. мои предыдущие попытки привели к этой ошибке: 12. java.lang.IllegalArgumentException: добавление родительского контейнера к себе 13. в java.awt.Container.checkAddToSelf (Неизвестный источник) 14. at java.awt.Container.addImpl (неизвестный источник) 15. at java.awt.Container.add (Неизвестный источник) 16. на LODGUI.drawAndShow (LODGUI.java:91) 17. на LODClient.run (LODClient.java:94) 18. в LODClient.main (LODClient.java:157) 19.

20. или без изменений и без полосы прокрутки.

Ответы [ 2 ]

0 голосов
/ 12 апреля 2010

Удалить строку 7.

Измените строку 8 на:

window.add(scrollTextBox); 

(Способ сделать это - вставить «сообщения» вашего компонента в JScrollPane, что вы делаете в строке 2. Затем не вставляйте «сообщения» в контейнер, а вставьте панель прокрутки.)

И, пожалуйста, в следующий раз отформатируйте ваш вопрос.

0 голосов
/ 12 апреля 2010

Проблема объясняется в сообщении об ошибке. Вы добавляете сообщения в scrollTextBox , а затем добавляете scrollTextBox к сообщениям .

И, пожалуйста, попробуйте отформатировать вопрос ...

...