How to a add a vertical scroll bar to a JTextArea in Swing?
Asked Answered
Y

1

5

I have this Gui class:

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);
}

And it is annoying when a bunch of text is in the text field because it keeps making the window larger. I need to know how to make a scrollbar so the user doesn't have to keep resizing his JFrame. Also, how can I lock the dimensions of a JFrame so users can adjest the size?

Yellow answered 15/9, 2011 at 5:26 Comment(0)
C
11

Set the JTextArea instance as the viewport view of a JScrollPane instance, as shown in How to Use Scroll Panes. Add this scroll pane to the frame's content pane.

Certifiable answered 15/9, 2011 at 5:30 Comment(4)
Can you tell me what the code would be? I'm a little confused.Yellow
It will be easier to suggest code if you provide an sscce in your question. More examples may be found here.Herbivorous
"Can you tell me what the code would be?" Can you post an SSCCE? (Even then, no guarantees are offered).Permeability
@ebalen which part of the tutorial chapter exactly confuses you?Octoroon

© 2022 - 2024 — McMap. All rights reserved.