【问题标题】:Jtextarea height increase dynamically [closed]Jtextarea高度动态增加[关闭]
【发布时间】:2013-04-18 15:23:27
【问题描述】:

我在 netbeans 中编码,我的问题是每当我在 jtextarea 中动态添加文本时,textarea 应该根据内容增加它的高度,以便显示完整的内容,并且我不想要带有 jtextarea 的滚动条。我已经关闭了两个滚动条。

       int i=0;
      jtextArea.setText("hello");
      while(i<20){
         jtextArea.setText(jtextArea.getText()+"\nhello");
          i++;
      }

【问题讨论】:

  • 你试过 setPreferredSize(); ?
  • 这应该可以正常工作。文本区域自动增加。你看到了什么?
  • 你能解释一下如何使用它吗? @Drastislav
  • ...您是否在特定于 IDE 的布局管理器中设置了它?这可能是你的问题。
  • @Oliver Watkins:文本区域会自动增加其大小,这是真的,但我希望它们没有滚动条,并且整个内容都显示在 jtextarea 中。我已经关闭了滚动条,所以只有最后几行正在显示。

标签: java swing jtextarea


【解决方案1】:

行为取决于您使用的布局管理器。例如,JFrame 默认使用 BorderLayout。所以你可以这样做:

JTextArea textArea = new JTextArea();
frame.add(textArea. BorderLayout.NORTH);

现在文本区域将是框架的宽度,并且会随着您的键入而增长,直到框架上没有更多空间。

我已经关闭了两个滚动条

如果您不想使用滚动窗格,请不要创建滚动窗格。只需将文本区域直接添加到框架即可。

【讨论】:

  • 没有选项可以根据动态添加的内容增加textarea的高度吗?正如我上面给出的一个例子。 @camickr
  • :非常感谢。实际上,Jtextarea 默认带有一个 Jscrollpane。我已将其删除,现在它可以正常工作了。
  • 否 JTextArea 默认不附带 JScrollPane。在您的代码中的某处,您正在创建滚动窗格并将文本区域添加到其中。
  • 在 netbeans 中它来了。
  • 这真的很有帮助,谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-28
  • 1970-01-01
  • 2011-11-26
  • 2011-05-24
相关资源
最近更新 更多