`
wzhiju
  • 浏览: 140880 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JTextArea append() 方法的每次循环不能正常显示的问题

阅读更多
    最近在写一个桌面程序时,涉及到要向JTextArea 中每次循环写入数据,开始程序如下:
for (int k = 0; k < hrefs.size() && k < 50; k++) {
    ......
    ......
    jTextArea1.append(hrefs.get(k).getUrl() + "  Analysis Completed...\n");
}
其中jTextArea1为一个文本区域,hrefs 为一个链表LinkedList<Href>,(Href 为自己定义的一个类),但是当运行程序时,可以看到要等到当所有的循环都结束后,所有要显示的内容才一股脑都出现在jTextArea1中。
    为了能够使jTextArea1 中的内容在每次循环中都能发生变化,有人提出用多线程的方法来解决,其实只要添加一个方法就可以了,paintImmediately()。对源程序修改如下:
for (int k = 0; k < hrefs.size() && k < 50; k++) {
    ......
    ......
    jTextArea1.append(hrefs.get(k).getUrl() + "  Analysis Completed...\n");
    jTextArea1.paintImmediately(jTextArea1.getBounds());
}
如此,便可以实现我们想要的效果。
分享到:
评论
2 楼 zhouYunan2010 2011-03-26  
我也遇到过这个问题,很好,对我有用。
1 楼 guangfeng8023 2011-03-25  
wzhiju 写道
    最近在写一个桌面程序时,涉及到要向JTextArea 中每次循环写入数据,开始程序如下:
for (int k = 0; k < hrefs.size() && k < 50; k++) {
    ......
    ......
    jTextArea1.append(hrefs.get(k).getUrl() + "  Analysis Completed...\n");
}
其中jTextArea1为一个文本区域,hrefs 为一个链表LinkedList<Href>,(Href 为自己定义的一个类),但是当运行程序时,可以看到要等到当所有的循环都结束后,所有要显示的内容才一股脑都出现在jTextArea1中。
    为了能够使jTextArea1 中的内容在每次循环中都能发生变化,有人提出用多线程的方法来解决,其实只要添加一个方法就可以了,paintImmediately()。对源程序修改如下:
for (int k = 0; k < hrefs.size() && k < 50; k++) {
    ......
    ......
    jTextArea1.append(hrefs.get(k).getUrl() + "  Analysis Completed...\n");
    jTextArea1.paintImmediately(jTextArea1.getBounds());
}
如此,便可以实现我们想要的效果。



谢谢

相关推荐

    java_JTextArea_实现不可修改文本内容、右键菜单

    ### Java Swing JTextArea 实现不可修改文本内容及右键菜单定制 #### 一、概述 在Java Swing开发中,`JTextArea` 是一个非常常用的组件,用于显示或编辑多行文本。有时候,我们可能需要创建一个只读的文本区域或者...

    重定向log4j日志到jtextarea

    而JTextArea是Swing组件库中的一个文本区域,常用于显示多行文本,用户可以读取但不能编辑。在某些情况下,我们可能希望将Log4j的日志输出直接重定向到JTextArea,以便于在GUI应用程序中实时查看日志信息。这在调试...

    JTextArea 实现行号

    在Java Swing库中,`JTextArea` 是一个用于显示和编辑多行文本的组件。有时候在编程时,我们可能需要为 `JTextArea` 添加行号功能,以方便用户阅读和编辑代码或者数据。这个功能可以通过自定义边框来实现,就像标题...

    JAVA初级编码——继承JDialog, 利用JTextArea显示文档中的内容

    在Java编程语言中,"JAVA初级编码——继承JDialog, 利用JTextArea显示文档中的内容"这个主题涉及到了两个核心概念:JDialog和JTextArea。JDialog是Java Swing库中的一个组件,它用于创建独立于主应用程序窗口的...

    Java弹出菜单,为JTextArea添加了右键弹出式菜单,实现了复制、粘贴、剪切

    在我们的示例代码中,我们使用了 JTextArea 组件来显示文本,并使用 MouseListener 来捕获用户的右键点击事件。MouseListener 是一个接口,用于监听鼠标事件。我们可以使用 MouseListener 来捕获鼠标点击事件,并在...

    改变JTextArea指定位置的背景色

    - 用户选择颜色后,应能即时更改`JTextArea`的背景色。 ### 二、技术选型与实现方案 #### 2.1 技术选型 本项目使用Java Swing框架,主要涉及到的组件和技术包括: - `JFrame`: 主窗口容器。 - `JTextArea`: 可编辑...

    java 使用JTextArea组件

    在Java Swing库中,`JTextArea`是一个非常重要的组件,用于在GUI应用程序中显示和编辑多行文本。它主要用于创建类似记事本的文本输入区域,可以用来展示大量的文本数据或者接收用户输入的多行文本。`JTextArea`是`...

    如何在整个数组列表的jtextarea中显示结果

    总之,在Java GUI中使用JTextArea显示数组列表的结果,你需要遍历列表,将每个元素转换成字符串,并通过`setText`方法更新JTextArea的内容。如果有加密需求,可以在转换前进行加密操作。记得在显示时,为了提高用户...

    swing jtextArea滚动条和文字缩放效果

    swing jtextArea是Java Swing中的一种组件,用于显示多行文本。今天,我们将详细介绍swing jtextArea滚动条和文字缩放效果,并提供了相关的代码实例。 首先,让我们了解一下swing jtextArea的基本概念。swing ...

    java swing-JTextArea的使用

    JTextArea是Swing库提供的一个多行文本编辑框组件,可以用于在GUI应用程序中显示和编辑大段文本。

    基于SNT的科学计算器

    这里用JTextArea主要和Undo有关,JTextArea提供append方法易于使用Undo。 定义JTextField resultTxt用于显示计算结果。 定义JScrollBar hScroll用于当用户输入超出显示范围时,用户单击移动按钮查看整个输入。 ...

    swing中文乱码问题(Linux和window)

    如果一切正常,那么乱码问题应该已经得到解决。 #### Windows系统下的解决方案 在Windows系统下解决Swing中文乱码问题的步骤与Linux系统有所不同,但同样重要。 **第一步:** 打开控制面板,进入“区域和语言”...

    JScrollPane

    在JTextArea下添加滚动条以及JTextArea与TextArea的区别

    Java Swing JTextArea文本区域的实现示例

    JTextArea 组件可以编辑多行文本,并提供了许多有用的方法来处理文本。 概述 JTextArea 是 javax.swing.JTextArea 的实例,用于编辑多行文本。JTextArea 除了允许多行编辑外,其他基本用法和 JTextField 基本一致...

    设计滚动字演示线程状态及改变方法

    `JLabel`或`JTextArea`可以用来显示文字,通过改变其内容实现滚动效果。 - **定时器**:`javax.swing.Timer`类可以定时触发事件,用于定期更新文字位置,模拟滚动效果。 - **动画技巧**:通过设置延时和循环更新,...

    JAVA 关于背包问题求解.doc

    "JAVA背包问题解决方案" 本资源是一个Java语言编写的背包问题解决方案,使用Swing库创建图形用户界面,用户可以输入背包容量和随机数个数,程序将根据用户输入生成随机数,并计算出背包问题的解决方案。 知识点: ...

    java程序文件字符编码转换器

    JTextArea jTextArea = new JTextArea("转换器处理结果"); JButton startLogin = new JButton("开始转换"); JComboBox&lt;String&gt; jComboBoxsuffix ; //制定后缀 JComboBox&lt;String&gt; jComboBoxCharacter ; //制定...

    java组件设计(6)随机数操作

    java组件设计(6)随机数操作

    Java_Swing的复杂控件

    JTextArea也提供了多种常用方法,例如append(String str)将给定文本追加到文档结尾、String getText()返回JTextArea中的内容、int getLineCount()返回JTextArea中的当前文本所占的行数、setLineWrap(boolean wrap)...

    java 显示文件中的内容

    如果你的文件是二进制格式(如图片文件“Java.jpg”),则不能使用上述方法,因为它们专用于处理文本数据。对于二进制文件,应使用`java.nio`包中的`Files`类和`ByteChannel`接口。例如,如果你想查看一个图片文件的...

Global site tag (gtag.js) - Google Analytics