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

关于Java Swing怎么实时刷新JTextArea,以显示刚才加append的内容(线程角度)

    博客分类:
  • java
 
阅读更多

static JTextArea result;

 

在代码中执行完textArea.append("message")后,如果你想让这个更新立刻显示在界面上而不是等swing的主线程返回后刷新,我们一般会在该语句后调用textArea.invalidate()和textArea.repaint()。问题是这个方法并不能有任何效果,textArea的内容没有任何变化,这或许是swing的一个bug,有一个笨拙的办法可以实现这个效果,就是执行以下语句textArea.paintImmediately(textArea.getBounds());

或

textArea.paintImmediately(textArea.getX(), textArea.getY(), textArea.getWidth(), textArea.getHeight());

这时,你会发现你刚才增加的消息已经被实时地显示出来了。


试过这两种方法都不行。
后来把字段改为静态的,
然后另外起了一个线程就好了

 

分享到:
评论

相关推荐

    JavaSwing TCP server

    ### Java Swing TCP Server知识点 #### 一、TCP服务器的基本概念 TCP(传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。在Java中,可以通过`java.net`包中的`ServerSocket`类来创建一个TCP...

    重定向log4j日志到jtextarea

    在某些情况下,我们可能希望将Log4j的日志输出直接重定向到JTextArea,以便于在GUI应用程序中实时查看日志信息。这在调试、监控或用户交互中非常有用。 首先,我们需要理解Log4j的工作原理。Log4j的核心组件包括...

    Java Swing中JDialog实现用户登陆UI示例

    在 Java Swing 中,使用 JDialog 构建用户登录 UI 需要创建一个 JDialog 实例,并设置标题、内容和按钮。下面是一个简单的示例: ```java JDialog dialog = new JDialog(); dialog.setTitle("用户登录"); dialog....

    JAVA 模拟QQ

    当用户在JTextArea中输入文本并点击发送按钮时,程序需要收集文本,可能需要添加时间戳,然后将消息显示在聊天窗口中,这通常通过setText()或append()方法完成。 此外,为了实现更真实的模拟,可以使用线程控制程序...

    java聊天室功能,图形化界面

    Java聊天室功能是一种常见的编程实践,它展示了如何利用Java的图形用户界面(GUI)来创建交互式的应用程序。在这个场景中,我们使用的工具是Java的JFrame类,它是Swing库中的一个核心组件,用于构建窗口应用程序的...

    在java中截获控制台输出

    这里我们将深入探讨如何在Java中实现这个功能,特别是在Swing环境中创建一个文本窗口来显示控制台输出。 首先,Java中的`System.out.println()`和`System.err.println()`是我们常见的控制台输出方式,它们主要用于...

    java 按照字母表顺序排列字符串列表

    在Java编程中,排序字符串列表是一项常见的任务,特别是在处理用户输入或者进行数据处理时。本应用专注于使用数组排序技术,将用户输入的字符串按照字母表顺序排列。下面将详细介绍实现这个功能所需的关键知识点。 ...

    java实现简陋版客户端服务器之间通信。

    请注意,这只是一个基本的示例,实际的客户端-服务器通信可能涉及错误处理、多线程、数据验证等更复杂的内容。此外,没有使用JSON意味着数据解析可能需要更多的自定义逻辑,可能增加了理解和维护的难度。在生产环境...

    聊天小程序 swing

    Swing 是 Java 用于构建图形用户界面(GUI)的一个库,它是 Java Foundation Classes (JFC) 的一部分。在Java编程中,Swing 提供了一系列组件,用于创建丰富的、交互式的桌面应用程序,包括聊天小程序。本篇文章将...

    Java 记事本 保存 另存为 打开文件

    这两个库提供了许多组件,如`JFrame`作为主窗口,`JTextArea`用于显示和编辑文本,`JButton`创建按钮(如“打开”、“保存”等)。 - **事件监听**:为了响应用户操作,如点击按钮,我们需要设置事件监听器,比如`...

    java网络客户端服务器代码

    本篇内容主要介绍了一个基于Java实现的简单网络客户端程序。该程序通过Swing构建GUI界面,用户可以通过输入URL地址来获取远程资源,并显示在文本区域中。在此过程中,涉及到了多线程、异常处理以及网络编程等相关...

    java记事本

    6. **多线程**: 虽然Java记事本通常是单线程应用,但在某些情况下,比如大文件读写或长时间运行的操作,可能需要使用多线程以避免阻塞用户界面。例如,文件读写操作可以放在后台线程进行。 7. **资源管理**: 为了...

    java初学者必看

    最近正在学习Java,也买了很多的有关Java方面的书籍,其中发现《跟我学Java》这本书,都的很不错啊,所以顺便拿电脑把这本书的目录敲了下来,与大家分享。尤其是那些和我一样初学Java的朋友们,看看哪一节对你有用,...

    Java 拖拽文件到文本框

    在这个场景中,标题"Java 拖拽文件到文本框"指的是实现用户能够通过拖放操作将本地文件直接放入文本框(JTextArea或JTextPane)的功能。这种功能在许多应用中都很有用,比如文件上传、代码编辑器等。 首先,为了...

    JAVA TCP/IP 多客戶端聊天雛形代碼

    import javax.swing.JTextArea; import javax.swing.JTextField; ``` ##### 2. 创建客户端主类 客户端的主类名为`ChatClient`,其中定义了一个静态方法`main`作为程序入口点。该方法通过创建一个`TalkFrame`对象并...

    java编程技巧.txt

    这段代码演示了如何安全地更新`JTextArea`对象的内容,确保所有对GUI组件的操作都在EDT上执行。 ### 2. 多线程编程 #### 知识点: - **线程创建**:通过继承`Thread`类并重写`run`方法来创建新的线程。 - **异常...

    Swing常用组件之文本框和文本区

    在Java的Swing库中,开发用户界面时经常会用到`JTextField`和`JTextArea`这两个组件。它们是文本输入的重要元素,帮助用户输入和查看多行或单行的文本数据。 `JTextField`是用于创建单行文本输入框的组件。它支持...

    java常用词

    根据给定文件中的标题“java常用词”及描述“java通用的单词,可以方便以后学习开发使用,真的很方便”,下面将详细阐述其中提及的关键概念、语法结构与编程元素。 ### Eclipse Existing Project into Workspace ...

    广播数据包 java 模拟

    ### 广播数据包 Java 模拟 #### 知识点概述 本篇文章将深入探讨一个Java程序案例,该程序用于模拟广播数据包的发送与接收。广播是一种网络通信方式,其中发送的数据包被所有连接到同一网络的主机接收。在Java中...

    chatRoom 聊天室

    import javax.swing.JTextArea; import javax.swing.JTextField; /** * 客户端窗口ChatRoomClientFrame类 负责客户端的视图表示、事件处理等逻辑 作为一个窗口,所以本类继承自JFrame * 为了实现事件处理,本类...

Global site tag (gtag.js) - Google Analytics