繁体   English   中英

JPanel repaint()调用不起作用

[英]JPanel repaint() call not working

我觉得解决这个问题的方法很简单,只是忽略了一些愚蠢的事情,但是我似乎无法使我的JPanels之一的repaint()方法起作用。 所讨论的JPanel是另一个类的成员对象,该类处理处理在JPanel上绘制的所有逻辑,但是,每当我在线程中调用repaint()时,都看不到绘制的内容,也看不到系统。 out.println()调用,出于调试目的,我将其放在其中。 为了方便起见,我将文件放在Github上。 这是我认为可能与之相关的三个文件。 如果需要,您可以随时查看其他内容。

SageLife.java

LifeFramework.java

Grid.java

我之前创建了许多JPanels,很少遇到此问题,因此我不确定是什么原因引起的。

您将重写Grid JPanel paintComponents而不是paintComponent 这不遵循Swing的绘制链机制。

@Override
public void paintComponents(Graphics g) {
    super.paintComponents(g);

注意:总是使用Thread Swing计时器来处理Swing中的UI更新。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM