Java:当用户停止调整窗口大小时执行某些操作

时间:2012-08-07 16:16:10

标签: java javafx-2 propertychangelistener

我目前正在编写一个带有JavaFX 2.0的gui,它可以调整大小。当用户调整窗口大小时,一个大矩形会随之调整大小。现在我需要将这个矩形的新边界推到一个漂浮在矩形内部并且可能不会越过它的边界的图像。

我想过通过ChangeListener更新边界,但我不希望它经常更新边界。完美的解决方案是“ChangeIsOverListener”,它会在更改结束时更新边界。

有人可以帮帮我吗?

提前致谢! :)

2 个答案:

答案 0 :(得分:1)

您可以在窗口调整大小的任一侧捕获鼠标按下和鼠标按下事件 - 但是您是否看到这些事件将取决于AWT系统并且可能还取决于O / S.

否则你将不得不在窗口大小调整事件中使用一个计时器在最后一个窗口大小调整事件之后将某个单独的事件跳转一些ms,这样你就可以认为如果没有改变那么大小将被“完成”在最后,比方说,每秒1/2。时间量将是用户感知延迟与您想要处理的调整数量之间的折衷。

答案 1 :(得分:0)

也许你可以每隔x毫秒比较一次窗口的大小,当它在这个时间间隔内没有变化时,你知道变化结束了。