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?
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.