Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为JPanel调用repaint()_Java_Swing_Jpanel_Jlabel_Repaint - Fatal编程技术网

Java 为JPanel调用repaint()

Java 为JPanel调用repaint(),java,swing,jpanel,jlabel,repaint,Java,Swing,Jpanel,Jlabel,Repaint,当我重新绘制()面板时,我将JLabel放在面板上,我得到了错误,但它仍然有效。我试着把面板放好;在try语句中编写代码,但这没有帮助。还有人对JPanels的repaint()有问题吗 错误消息(从注释中复制): 我不是很确定,但我想我以前也遇到过同样的问题。我相信使用SwingUtilities.invokeLater可以帮助我支持当时的做法。 试试看,我不是很确定。我不是很确定,但我想我以前也遇到过同样的问题。我相信使用SwingUtilities.invokeLater可以帮助我支持当时

当我重新绘制()面板时,我将JLabel放在面板上,我得到了错误,但它仍然有效。我试着把面板放好;在try语句中编写代码,但这没有帮助。还有人对JPanels的repaint()有问题吗

错误消息(从注释中复制):


我不是很确定,但我想我以前也遇到过同样的问题。我相信使用SwingUtilities.invokeLater可以帮助我支持当时的做法。
试试看,我不是很确定。

我不是很确定,但我想我以前也遇到过同样的问题。我相信使用SwingUtilities.invokeLater可以帮助我支持当时的做法。
试一试,我并不完全确定。

确保在事件调度线程中执行对UI的所有修改,这包括从容器中添加和删除组件


如Leon所述,使用调用器方法将确保操作在EDT上正确执行。

确保在事件调度线程中执行对UI的所有修改,这包括从容器中添加和删除组件


正如Leon所说,使用
invokeLater
方法将确保在EDT上正确执行操作。

您知道错误是什么吗?错误是什么?你在面板上画画吗?如果这样,考虑重写PultCe组件方法,而不是Frand方法,并确保您总是调用Super。PruttCe组件(G);错误消息对于线程“AWT-EventQueue-0”java.lang.ArrayIndexOutOfBoundsException中的一个注释Part1异常来说太大了:javax.swing.JComponent.rectangleIsObscured(未知源)javax.swing.JComponent.paint(未知源)中的java.AWT.Container.getComponent(未知源)中没有这样的子级:21javax.swing.JComponent.paintooffscreen(未知源)javax.swing.repainmanager$PaintManager.paintDoubleBuffered(未知源)javax.swing.repainmanager$PaintManager.paint(未知源))在原始问题中发布完整的错误消息。你可以很容易地编辑这个问题,然后把它粘贴进去。然后突出显示代码并按下代码格式按钮/链接。还显示导致错误的代码。至于“其他人有问题吗?”如果你不告诉我们你的问题的细节,我们就帮不了你。您的代码中有一个bug,如果我们有机会帮助您,您需要向我们展示它。听起来像是Swing线程问题,您是否在Swing EDT上完成所有UI工作?您知道错误是什么吗?错误是什么?你在面板上画画吗?如果这样,考虑重写PultCe组件方法,而不是Frand方法,并确保您总是调用Super。PruttCe组件(G);错误消息对于线程“AWT-EventQueue-0”java.lang.ArrayIndexOutOfBoundsException中的一个注释Part1异常来说太大了:javax.swing.JComponent.rectangleIsObscured(未知源)javax.swing.JComponent.paint(未知源)中的java.AWT.Container.getComponent(未知源)中没有这样的子级:21javax.swing.JComponent.paintooffscreen(未知源)javax.swing.repainmanager$PaintManager.paintDoubleBuffered(未知源)javax.swing.repainmanager$PaintManager.paint(未知源))在原始问题中发布完整的错误消息。你可以很容易地编辑这个问题,然后把它粘贴进去。然后突出显示代码并按下代码格式按钮/链接。还显示导致错误的代码。至于“其他人有问题吗?”如果你不告诉我们你的问题的细节,我们就帮不了你。您的代码中有一个bug,如果我们有机会帮助您,您需要向我们展示它。听起来像是一个Swing线程问题,您是否在Swing EDT上完成所有UI工作?invokeLater方法如何工作,以及如何实现它?invokeLater基本上将一个可运行对象放在ETD队列上,允许在未来某个时间执行(在ETD中)。基本上,您需要调用SwingUtilities.invokeLater(…)并传递一个实现可运行接口的对象。当ETD处理队列时,它将调用“run”方法。您可以查看更多详细信息显示invokeLater方法是否工作,以及如何实现它?invokeLater基本上将一个可运行对象放置在ETD队列上,允许它在将来的某个时间执行(在ETD中)。基本上,您需要调用SwingUtilities.invokeLater(…)并传递一个实现可运行接口的对象。当ETD处理队列时,它将调用“run”方法
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: No such child: 21 
at java.awt.Container.getComponent(Unknown Source) 
at javax.swing.JComponent.rectangleIsObscured(Unknown Source) 
at javax.swing.JComponent.paint(Unknown Source) 
at javax.swing.JComponent.paintToOffscreen(Unknown Source) 
at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(Unknown Source) 
at javax.swing.RepaintManager$PaintManager.paint(Unknown Source) )