当用户更改小程序窗口大小时,真正发生了啥?
Posted
技术标签:
【中文标题】当用户更改小程序窗口大小时,真正发生了啥?【英文标题】:What is really happening when the applet window size is changed by the user?当用户更改小程序窗口大小时,真正发生了什么? 【发布时间】:2015-01-04 16:11:41 【问题描述】:每当我在小程序中拖动以更改窗口大小时,paint 方法似乎会再次运行。到底发生了什么?油漆方法只是重新运行本身吗?有没有办法让它自动执行此操作(不更改窗口大小)? for 循环似乎不起作用。我在代码中有一个 thread.sleep 方法,但它仍然没有帮助。我将在下面包含paint方法的代码。
// -----------------------------------------------------------------
// Paints the stick figures on the applet.
// -----------------------------------------------------------------
public void paint(Graphics page)
// for (int f = 0; f < 6; f++)
resize(400, 150);
for (int u = 0; u < stickdudes.length; u++)
stickdudes[u].draw(page);
// Delay.sleep(3000);
//
【问题讨论】:
你问的是调用paint
还是如何实现?
我知道如何调用和实现它。我想知道如何再次自动运行它。
你可以使用repaint()方法再次调用paint方法:)
感谢@Muhammad!把这个作为答案,这样我就可以相信你了。
谢谢,很高兴为您解决问题
【参考方案1】:
要一次又一次调用paint()
方法,repaint()
方法在 AWT 和 Swing 中都使用
【讨论】:
【参考方案2】:来自Painint in AWT and Swing: AWT Painting Guidelines,
程序可能会通过调用
repaint()
来触发对paint()
的未来调用,但不应直接调用paint()
。
【讨论】:
以上是关于当用户更改小程序窗口大小时,真正发生了啥?的主要内容,如果未能解决你的问题,请参考以下文章