如何在不破坏界面的情况下制作可滚动的客户端?

时间:2012-07-07 15:33:17

标签: java swing jscrollpane

好的,我一直在玩ScrollPanes是不可能的。这是我的构造函数:

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没有做任何事情。我尝试使用bar而不是窗格,但它们都是一样的。所有在线示例都使用了一些特殊的awt布局。有没有办法让我的textarea可滚动?

1 个答案:

答案 0 :(得分:2)

您要添加pane两次:一次是scroll的孩子,一次是直接tupper。一个组件一次只能有一个父组件。尝试删除此行:

tupper.add(pane, BorderLayout.CENTER);