Java Can';在JScrollPane中看不到组件

Java Can';在JScrollPane中看不到组件,java,swing,textarea,jscrollpane,Java,Swing,Textarea,Jscrollpane,我正在使用一个JScrollPane来保存一个JTextArea,用于保存大面积的文本。我将TextArea直接添加到JFrame中,效果很好。但是我将它添加到滚动窗格,然后添加滚动窗格,我没有看到文本区域。这是我的SSCCE: public class foo extends JFrame{ //gui elements JTextArea chatMonitor = new JTextArea(); JScrollPane textPane = new JScrollPane();

我正在使用一个JScrollPane来保存一个JTextArea,用于保存大面积的文本。我将TextArea直接添加到JFrame中,效果很好。但是我将它添加到滚动窗格,然后添加滚动窗格,我没有看到文本区域。这是我的SSCCE:

public class foo extends JFrame{
    //gui elements
JTextArea chatMonitor = new JTextArea();

JScrollPane textPane = new JScrollPane();

ChatFrame(final String nickname, final String login, final String server, final String channel){
    setSize(500,500);
    chatMonitor.setEditable(false);
    chatMonitor.setVisible(true);
    textPane.add(chatMonitor);
    textPane.setAutoscrolls(true);
    textPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
    textPane.setVisible(true);
    add(textPane);
}
}

假设
textPane
是一个
JScrollPane
,您永远不应该向它添加组件

改用

JScrollPane
由许多组件组成,这些组件协同工作,为您提供使组件可滚动所需的功能

JScrollPane
有一个
JViewport
,用于包含要滚动的组件。您需要将组件“应用”到视图


请仔细查看以了解更多详细信息

Short,yes。自我包含,不。正确(可编译),不。示例,很难说这算不算示例。谢谢!这很有帮助!滚动窗格是一个例外,当涉及到Swing容器API时,很多人都会遇到这个问题;)