首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

run中未调用repaint()

在Java中,run()方法是线程的入口点,它定义了线程要执行的任务。当我们在run()方法中编写代码时,如果没有调用repaint()方法,那么界面将不会被重新绘制。

repaint()方法是Java中用于请求重新绘制组件的方法。当我们调用repaint()方法时,它会触发AWT事件队列,并在下一个合适的时间重新绘制组件。这是因为Java使用事件驱动的方式来处理用户界面的更新。

在GUI编程中,当我们需要更新界面时,通常会调用repaint()方法。这可以是因为某个组件的状态发生了变化,或者需要根据用户的输入进行更新。如果我们在run()方法中没有调用repaint()方法,界面将无法及时更新,用户可能无法看到预期的结果。

对于这个问题,可以考虑在run()方法中调用repaint()方法来触发界面的重新绘制,以确保界面能够及时更新。具体的代码示例如下:

代码语言:txt
复制
public void run() {
    // 执行任务的代码
    
    // 调用repaint()方法触发界面的重新绘制
    repaint();
}

在这个例子中,我们假设在run()方法中执行了一些任务,然后调用repaint()方法来触发界面的重新绘制。

关于腾讯云相关产品,可以根据具体需求选择适合的产品。腾讯云提供了丰富的云计算服务,包括云服务器、云数据库、云存储等。您可以通过访问腾讯云官方网站(https://cloud.tencent.com/)了解更多信息,并查找适合您需求的产品和服务。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

应用长时间调用后再次调用出现hang的情况

之前某应用就存在长时间不调用,再次调用时处于hang,等待10分钟返回3113的连接错误。今天正好同事也问了个相同的问题,也是应用长时间不调用就出现这种情况。        ...以前对于这种问题进行过排查,但一直解决,针对今天的这个系统的问题,还是按照老方法检查, 1. 检查应用日志,确实长时间等待后报3113的错误。 2....检查数据库的PROFILEidle_time参数,此处设置的是DEFAULT的UNLIMITED,说明超时不会是由数据库用户PROFILE配置导致的。 3....写个脚本定时调这个应用,保证40分钟内有调用,就不会出现超时的问题了。 2. 通过Oracle的一些机制自动探测数据库连接来间接保证40分钟内应用有调用

1.7K20

直接调用 Java 线程的 run() 方法会发生什么?

本文将深入探讨如果直接调用线程的 run() 方法会发生什么。 先说结论:直接调用 run() 方法不会启动一个新的线程,它只是普通方法调用,代码在当前线程同步顺序执行。...run() 方法 vs start() 方法 run()方法 run()方法包含了线程要执行的代码。 直接调用run()方法不会启动一个新线程,它只是在当前线程执行run()方法体的代码。...换句话说,直接调用run()方法相当于调用一个普通的方法,没有并发行为。 start()方法 start()方法会创建一个新的线程,并在新的线程执行run()方法。...直接调用 run() 方法 当thread.run()被调用时,输出“Thread is running”。这段代码在主线程执行,没有启动新的线程。...结论 直接调用 run() 方法不会启动一个新的线程,它只是普通方法调用,代码在当前线程同步顺序执行。而调用 start() 方法则会启动一个新的线程,并在该线程执行 run() 方法的代码。

12620

android onresume函数,android – 在Activity重新创建后调用onResume

在应用程序设置中进行某些更改时,我在recreate的onActivityResult调用MainActivity。重新创建后,不调用onResume。...我也收到错误:E/ActivityThread: Performing pause of activity that is not resumed 从this问题开始,我了解到不能从onResume调用此函数...另外,使用处理程序来调用recreate可以解决问题,但会导致眨眼,对用户而言很糟糕。这可能是什么错误?没有recreate的情况下如何使用Handler? 任何想法将不胜感激。谢谢!...最佳答案 在onResume()之前调用OnActivityResult()。...您可以做的是在OnActivityResult()设置一个标志,您可以在onResume()检入,如果该标志为true,则可以重新创建活动。

3.3K20

TensorFlow2.0安装_tensorflowrun

在非C盘创建一个新的目录 这里可以将第一个对勾打上(Add … to my Path),这样就不用配置环境变量,直接Install 若上面勾选第一个选项,则需要手动配置环境变量 安装成功后,...还有一件事要记住,cuDNN 文件需安装在不同的目录,并需要确保目录在系统路径。当然也可以将 CUDA 库的相关文件复制到相应的文件夹。...,我们需要用到 numpy() #调用numpy(),来访问一个Tensor(张量)值 print(hello.numpy()) 运行结果如下: b’hello world’ 本程序原期望的运行结果为...#调用decode()解码,默认为utf-8解码 print(hello.numpy().decode()) 运行结果: hello 具体请参考博客 Link Session() 测试代码: import...print('tensorflow计算两数的和:', c_t) # 开启会话 with tf.Session() as sess: c_t_value = sess.run

1.1K30

聊聊kotlinrun, let, with, apply, also ...

导语: kotlin 标准库, run, let, with, apply, also 实现解读 在看kotlin代码时, 可能会看到let, run这样的函数调用, 最早接触的时候, 我也弄不清楚其中差异...这里的上下文this和run()方法被调用时候的this一致....为什么说是混合: let的函数参数block, 对应的上下文this和第一个run函数是一致的 let和第二个run函数一样是一个extension函数, 但是它的block参数支持一个参数, 就是任意类型..., let, with, apply, also的差异完全明了 思考 在上边的实例代码, T.run, T.apply, with(T)对应的block, 怎么拿到TestDemo实例里边的str这个...“str(class val)” 为什么T.run对应的block, number++了, 但是println(“this = $this”)输出结果没有增加?

1.2K70

yeoman-generator run loop 实现

当时提到“每一个添加进去的方法都会在generator调用的时候被调用,而且通常来讲,这些方法是按照顺序调用的”以及简单介绍了yeoman的方法执行顺序,这篇文章将仔细分析run loop的具体实现。...run loop 所谓的run loop是IOS开发的一个概念,具体来说是一个与线程相对应的对象,用它来实现线程自动释放池、延迟回调、触摸事件、屏幕刷新等功能。...// 向任务队列增加writing任务、 queue.add('writing', function( cb ) { /* 一些完成一些事情,同步或异步, * 如果是同步则在最后调用cb...* 如果是异步,则在异步回调调用cb */ }); 这样就可以构建一个任务队列,事件将按顺序被调用,每次调用add,队列都会执行一次: const queue = new GroupedQueue...每一个任务都是使用setImmediate在下一个事件循环中调用,Grouped Queue添加了一个标志running,在run方法判断,如果是runing状态则直接返回,不会调用exec,等到callback

90100

为什么start方法不能重复调用?而run方法却可以?

区别1 run 方法和 start 方法的第一个区别是:调用 start 方法是真正开启一个线程来执行任务,而调用 run 方法相当于执行普通方法 run,并不会开启新线程,如下图所示: 区别2...run 方法和 start 方法的第二个区别是:run 方法也叫做线程体,它里面包含了具体要执行的业务代码,当调用 run 方法时,会立即执行 run 方法的代码(如果当前线程时间片未用完);而调用...区别3 因为 run 方法是普通方法,而普通方法是可以被多次调用的,所以 run 方法可以被调用多次;而 start 方法是创建新线程来执行任务,因为线程只能被创建一次,所以它们的第三个区别是:run...执行速度不同:调用 run 方法会立即执行任务,调用 start 方法是将线程的状态改为就绪状态,不会立即执行。 调用次数不同:run 方法可以被重复调用,而 start 方法只能被调用一次。...start 方法之所以不能被重复调用的原因是,线程的状态是不可逆的,Thread 在 start 的实现源码做了判断,如果线程不是新建状态 NEW,则会抛出非法线程状态异常 IllegalThreadStateException

63110

一场HttpClient调用关闭流引发的问题

json = HttpUtil.doGet(url);来调用第三方接口 HttpUtil.doGet("www.baidu.com") } //这里没有用异步执行,单线程执行 @...MyJobExecutor-"); // rejection-policy:当pool已经达到max size的时候,如何处理新任务 // CALLER_RUNS:不在新线程执行任务...HttpClient内部三个超时时间的区别 然后myAsync 这个线程池的线程也是有限的, Schedule每秒都在执行,很快线程不够用了,然后就阻塞了testDoGet这个定时任务了; 为了确认是 流关闭的问题...MyJobExecutor-"); // rejection-policy:当pool已经达到max size的时候,如何处理新任务 // CALLER_RUNS:不在新线程执行任务...executor.initialize(); return executor; } 用的丢弃策略是 CallerRunsPolicy :它直接在 execute 方法的调用线程运行被拒绝的任务

3.4K30

Kotlinapply,run,let,also,with函数总结

函数介绍 apply fun T.apply(f: T.() -> Unit): T { f(); return this } 返回值是本身 run run函数和apply函数很像,只不过...(f: (T) -> R): R = f(this) let是将当前的函数传入后面的闭包(it),可以随意指定返回值得类型 是不是意味着可以在let,对其本身进行操作。...都是在本身的调用方式上,强制返回本身 with with函数是一个单独的函数,并不是Kotlin的extension,所以调用方式有点不一样,返回是最后一行,然后可以直接调用对象的方法,感觉像是let.../返回值强制就是本身 } //run m.run { //1.调用函数直接写 //1.调用函数可以直接写 println(getMpValue...其实with和run相似 with(m){ //调用方式和apply和run相似 println(getMpValue()) //2.如果调用外部函数对本身进行操作

1.4K20

thread类start()和run()方法的区别

run方法体代码执行完毕而直接继续执行下面的代码: 通过调用Thread类的start()方法来启动一个线程,这时此线程是处于就绪状态,并没有运行。...然后通过此Thread类调用方法run()来完成其运行操作的,这里方法run()称为线程体,它包含了要执行的这个线程的内容,Run方法运行结束,此线程终止,而CPU再运行其它线程。...2,run()方法当作普通方法的方式调用,程序还是要顺序执行,还是要等待run方法体执行完毕后才可继续执行下面的代码: 而如果直接用run方法,这只是调用一个方法而已,程序依然只有主线程–这一个线程,...3,调用start方法方可启动线程,而run方法只是thread的一个普通方法调用,还是在主线程里执行。...这两个方法应该都比较熟悉,把需要并行处理的代码放在run()方法,start()方法启动线程将自动调用 run()方法,这是由jvm的内存机制规定的。

4K00
领券