我希望有一个textArea来显示可以滚动的结果。即使我将其设置为VERTICAL_SCROLLBAR_ALWAYS,滚动条也不会出现 我做错了什么?
void addPlayerPanel(JFrame gameFrame) {
JPanel playerPanel = new JPanel();
// automatically added to contentPane with gameFrame.add()
gameFrame.add(playerPanel, BorderLayout.CENTER);
playerPanel.setBorder(new TitledBorder(new EtchedBorder(), "Registered players"));
// text are to show registered players
JTextArea display = new JTextArea(5, 40);
display.setEditable(true); // set textArea to editable
display.setLayout(new FlowLayout(FlowLayout.CENTER, 0, 0));
JScrollPane scroll = new JScrollPane(display);
scroll.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
// Add Text area
playerPanel.add(scroll);
playerPanel.add(display);
}
答案 0 :(得分:3)
您要将JScrollPane及其显示添加到GUI中 - 请勿这样做。只添加JScrollPane。它保持显示,这就是你需要的。
所以改变:
playerPanel.add(scroll);
playerPanel.add(display);
到
playerPanel.add(scroll);
// playerPanel.add(display);
问题:为什么要设置JTextArea的布局管理器?这真的没什么意义。