Java - Swing - TextArea - 滚动条

时间:2016-05-22 15:58:11

标签: java swing

我希望有一个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);
}

1 个答案:

答案 0 :(得分:3)

您要将JScrollPane及其显示添加到GUI中 - 请勿这样做。只添加JScrollPane。它保持显示,这就是你需要的。

所以改变:

playerPanel.add(scroll);
playerPanel.add(display);

playerPanel.add(scroll);
// playerPanel.add(display);

问题:为什么要设置JTextArea的布局管理器?这真的没什么意义。