1。 JTextArea messages = new JTextArea(5,30); 2。 JScrollPane scrollTextBox = new JScrollPane(messages,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。 我正在尝试在GUI框中写一个文本框,从服务器返回消息,它需要一个滚动条,因为消息不断被发送,但目前只有前几行是可见的,其余的不是因为我无法让滚动条起作用。 11。 之前我的尝试导致了这个错误: 12。 java.lang.IllegalArgumentException:将容器的父级添加到自身 13。 at java.awt.Container.checkAddToSelf(Unknown Source) 14。 at java.awt.Container.addImpl(Unknown Source) 15。 at java.awt.Container.add(Unknown Source) 16。 在LODGUI.drawAndShow(LODGUI.java:91) 17。 在LODClient.run(LODClient.java:94) 18。 在LODClient.main(LODClient.java:157) 19。
20。 或者没有变化,没有滚动条。
答案 0 :(得分:0)
错误消息中解释了该问题。您正在将消息添加到 scrollTextBox ,然后将 scrollTextBox 添加到消息。
请尝试格式化你的问题......
答案 1 :(得分:0)
删除第7行。
将第8行更改为:
window.add(scrollTextBox);
(这样做的方法是将组件'messages'插入到第2行的JScrollPane中。然后,不要将'messages'插入容器,而是插入scoll窗格。)
请下次格式化您的问题。