Java 如何在不破坏界面的情况下创建可滚动客户端?

Java 如何在不破坏界面的情况下创建可滚动客户端?,java,swing,jscrollpane,Java,Swing,Jscrollpane,好吧,我在滚动窗格上度过了一段不可能的时光。这是我的构造函数: private static JTextField field = new JTextField(); private static JTextArea pane = new JTextArea(); public Client(){ JButton close = new JButton("Close"); close.setMnemonic(KeyEvent.VK_C); close.addActionL

好吧,我在滚动窗格上度过了一段不可能的时光。这是我的构造函数:

private static JTextField field = new JTextField();
private static JTextArea pane = new JTextArea();
public Client(){
    JButton close = new JButton("Close");
    close.setMnemonic(KeyEvent.VK_C);
    close.addActionListener(new closeList());
    JButton send = new JButton("Send");
    send.setMnemonic(KeyEvent.VK_S);
    send.addActionListener(new sendList());
    JPanel buttonPanel = new JPanel(new GridLayout(1, 2));
    buttonPanel.add(send);
    buttonPanel.add(close);

    JScrollPane scroll = new JScrollPane(pane);

    pane.setLineWrap(true);
    pane.setWrapStyleWord(true);
    pane.setEditable(false);        
    Container tupper = getContentPane();
    tupper.add(field, BorderLayout.PAGE_START);
    tupper.add(pane, BorderLayout.CENTER);
    tupper.add(scroll, BorderLayout.EAST);
    tupper.add(buttonPanel, BorderLayout.PAGE_END);
}

所以,滚动窗格在那里,但id什么也不做。我试过用条形图代替窗格,但都一样。所有在线示例都使用一些特殊的awt布局。有什么方法可以使我的文本区域可滚动吗?

您添加了两次
窗格
:一次作为
滚动
的子项,一次直接添加到
tupper
。一个组件一次只能有一个父级。尝试删除此行:

tupper.add(pane, BorderLayout.CENTER);