【问题标题】:overwrite content of textarea java覆盖textarea java的内容
【发布时间】:2009-08-27 09:15:20
【问题描述】:

我每秒钟将文本附加到文本区域我想覆盖或清除旧文本,我想每秒钟写入新数据如何在 java 中执行此操作?

谢谢罗刹

【问题讨论】:

  • 你的代码在做什么? setText 应该删除当前文本并输入您指定的任何内容作为新文本。您传递给 setText 的参数是否可能实际上包含先前的文本以及附加的新文本?你能给我们看一下你的代码的sn-p吗?

标签: java core


【解决方案1】:

我猜你说的是 Swing JTextArea

你可以直接在上面调用setText(...)来替换文字:

JTextArea textArea = ...;

textArea.setText("Hello World");

【讨论】:

  • 你确定它是附加的吗?做一些调试:检查你传递给 setText() 的内容。只是新文本,还是您将其设置为旧文本+新文本?
  • 请注意,如果您认为某个答案是您问题的正确答案,您可以在 StackOverflow 上将其标记为已接受的解决方案。
【解决方案2】:

要定期做某事,您需要一些线程,但请注意使用SwingWorker。否则,您的 GUI 可能会冻结。

        final JTextArea ta = frame.getjTextArea1();

        SwingWorker worker = new SwingWorker() {

            @Override
            protected Object doInBackground() throws Exception {
                while (true) {
                   ta.setText("");
                   ta.setText(new Date().toString());
                   Thread.sleep(1000);
                }
            }
        };
        worker.execute();

【讨论】:

    猜你喜欢
    • 2018-05-15
    • 2018-03-30
    • 2022-01-08
    • 1970-01-01
    • 1970-01-01
    • 2012-05-30
    • 2014-04-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多