【问题标题】:Scroll text area to top after it has been filled填充后将文本区域滚动到顶部
【发布时间】:2012-01-31 13:13:57
【问题描述】:

我有几个文本区域充满了信息循环。是否可以在循环完成后使其“跳转”或自动滚动回顶部,以便用户从头看到它而不是结尾?

【问题讨论】:

  • 您指的是基于 AWT 的 TextArea 还是基于 Swing 的 JTextArea?请具体。
  • @PeekaySwitch,我会检查一下
  • 为什么在这个千年中使用 AWT 组件?少数确实使用过它们的人在很大程度上已经忘记了如何使用它们!
  • 我只使用 AWT TextArea 因为我不喜欢 Swing 没有边框的显示方式,我所有的其他组件都是 Swing!

标签: java loops textarea awt


【解决方案1】:

您可以使用setCaretPosition() 将光标设置在TextArea 的位置0。这通常对我有用。

【讨论】:

    【解决方案2】:

    将 setUpdatePolicy 与 NEVER_UPDATE 一起使用,并确保 setUpdatePolicy 在将任何文本设置到 JTextArea 之前出现。在我的示例中,我初始化了一个没有任何文本的 JTextArea,然后立即调用 setUpdatePolicy。

    JTextArea jTextArea = new JTextArea();
    ((DefaultCaret)jTextArea.getCaret()).setUpdatePolicy(DefaultCaret.NEVER_UPDATE);
    

    【讨论】:

      【解决方案3】:

      我已经通过创建一个新的 TextArea 来解决这个问题,它充当一种缓冲区(并且不显示)。循环写入该区域,完成后从中获取文本并将其设置为所需的 TextArea。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-12-20
        • 1970-01-01
        • 2014-02-07
        • 2012-02-18
        • 1970-01-01
        相关资源
        最近更新 更多