gpt4 book ai didi

java - 如何找出组件调整大小完成时的实例

转载 作者:行者123 更新时间:2023-12-04 07:04:46 25 4
gpt4 key购买 nike

在我的应用程序中,如果调整组件大小,我会获取数据。我想延迟获取,直到用户完成调整大小操作。 ComponentListener 事件 componentResized 每次调整窗口大小时都会触发。

最佳答案

我会说您可能正在编写某种 map 应用程序? :-)

您可以使用 swing Timer 类等待,直到经过指定的时间后没有任何事件发生。这是代码:

/** Time to wait */
private final int DELAY = 1000;
/** Waiting timer */
private javax.swing.Timer waitingTimer;

/**
* Handle resize event.
*/
public void componentResized(ComponentEvent e)
{
if (this.waitingTimer==null)
{
/* Start waiting for DELAY to elapse. */
this.waitingTimer = new Timer(DELAY,this);
this.waitingTimer.start();
}
else
{
/* Event came too soon, swallow it by resetting the timer.. */
this.waitingTimer.restart();
}
}

/**
* Actual resize method
*/
public void applyResize()
{
//...
}

/**
* Handle waitingTimer event
*/
public void actionPerformed(ActionEvent ae)
{
/* Timer finished? */
if (ae.getSource()==this.waitingTimer)
{
/* Stop timer */
this.waitingTimer.stop();
this.waitingTimer = null;
/* Resize */
this.applyResize();
}
}

关于java - 如何找出组件调整大小完成时的实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1281582/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com