【问题标题】:JtextArea scrolling text up by one pageJtextArea 将文本向上滚动一页
【发布时间】:2014-05-08 09:11:31
【问题描述】:

我有一个 JtextArea(在滚动窗格中),其中有 20 行文本。

textArea 的显示容量为 10 行。

如果用户按下回车,我需要将 20 行文本向上移动一页,留下一个空白屏幕来输入。因此,如果用户向上滚动,他将能够看到 20 行。

功能类似于linux中的clear命令,将所有内容上移一页。

如何在 JtextArea 中实现这一点??

请帮忙。

【问题讨论】:

标签: java swing scroll jtextarea jcomponent


【解决方案1】:

尝试在用户每次按下回车时添加 \n * 20 次。 您可以通过实现 KeyListener 来做到这一点,但有些人不同意使用 KeyListener,我不明白为什么不这样做。

jTextArea.addKeyListener(new KeyAdapter() {
            public void keyReleased(KeyEvent evt) {
                if (evt.getKeyCode() == KeyEvent.VK_ENTER)
                    for (int i = 0; i < 20; i++)
                       jTextArea.append("\n");
            }
        });

【讨论】:

  • 如果 (evt.getKeyCode() == KeyEvent.VK_ENTER) 错误,顺便说一下 ENTER 在 API 的 JTextArea 中实现,
  • I do not see why not. 因为 Swing 被设计为与 Key Bindings 一起使用,这是一个更高级别的 API。最好在可用时使用更高级别的 API,这样您就不会依赖于低级别事件。
猜你喜欢
  • 2012-06-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-06
  • 1970-01-01
  • 2021-04-25
  • 2011-09-08
  • 2015-12-17
相关资源
最近更新 更多