【问题标题】:Java repaint not working correctlyJava 重绘无法正常工作
【发布时间】:2010-11-02 01:16:17
【问题描述】:

我使用 java repaint 方法,它会重新绘制,但只有当我单击画布或调整面板大小时才能看到更新。我怎样才能解决这个问题 ?是什么原因造成的?

【问题讨论】:

  • 代码....,好吗?或者你想让我们猜猜。
  • 您是否只使用标准的 Swing 组件?您是否制作了自定义组件?
  • 摇摆? AWT? SWT?我们需要更多信息才能给出有用的答案。

标签: java canvas panel paint repaint


【解决方案1】:

简单地从您要绘制的组件中获取 Graphics 对象可能会有所帮助。然后只需在 Graphics 对象上调用一个绘制方法。例如:

g = component.getGraphics(); 
draw(g);

【讨论】:

  • 这实际上在已经在摆动线程上时非常有用
【解决方案2】:

repaint() 实际上并不是重绘,它只是 请求 组件的重绘。

【讨论】:

    【解决方案3】:

    您需要调用方法 revalidate()。这会强制布局管理器更新/重绘其所有组件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-17
      • 2017-03-30
      • 2015-02-20
      • 2021-05-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多