如何在Swing中为JTextArea添加垂直滚动条?

5

我有这个Gui类:

public class Gui extends JFrame implements ActionListener {

/**
 * 
 */
private static final long serialVersionUID = -384241835772507459L;
JLabel playerInfo;
JTextField textField;
private final static String newline = "\n";
JTextArea feed;
JScrollPane scrollPane;
Player player;

public Gui() {
    super("Erik's RPG");        
    setLayout(new FlowLayout());        
    textField = new JTextField(30);     
    textField.addActionListener(this);      
    feed = new JTextArea(15, 30);
    feed.setEditable(false);    
}

public void setCurrentPlayer(Player currentPlayer) {
    player = currentPlayer;
    playerInfo = new JLabel("Health = " + currentPlayer.getHealth() + " | Mana = " + player.getMana());
    playerInfo.setBorder(BorderFactory.createTitledBorder(currentPlayer.getName()));
    add(playerInfo);
    add(feed);
    add(textField);
}

当文本框中有大量文本时,它会不断扩大窗口,这很烦人。我需要知道如何创建一个滚动条,使用户不必不停地调整JFrame的大小。此外,我如何锁定JFrame的尺寸,以便用户可以调整窗口大小?

1个回答

11

按照如何使用滚动面板中的示例,将JTextArea实例设置为JScrollPane实例的视口视图。将此滚动窗格添加到框架的内容面板中。


2
你能告诉我代码是什么吗?我有点困惑。 - Erik Balen
如果您在问题中提供一个sscce,那么建议代码将更容易。更多示例可以在这里找到。 - trashgod
"你能告诉我代码应该是什么吗?" 你能发布一个SSCCE吗?(即使这样,也不能保证解决问题)。 - Andrew Thompson
@ebalen,教程的哪个章节让您感到困惑? - kleopatra

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接