gpt4 book ai didi

java - 跟踪 Java 中窗口打开的时间

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

我正在尝试跟踪 JPanel 打开的时间(以毫秒为单位),我不知道是否有更简单的方法来做到这一点,但我想我应该在 windowOpened() 上记录 MS 中的当前时间,并且然后从面板关闭的时间中减去它?不幸的是,我不知道如何传递这个变量。

这是我的代码:

public void windowOpened(WindowEvent arg0) {
Calendar OlCDateTime = Calendar.getInstance();
long openedTime = OlCDateTime.getTimeInMillis();
System.out.println(openedTime);
}

我猜我正在使用在方法外部无法访问的局部变量,但我不知道如何解决这个问题。任何有关如何做到这一点或更好的方法来完成我想做的事情的建议将不胜感激。

最佳答案

您应该能够在类中使用实例变量来完成此任务。只需跟踪窗口何时打开和关闭;然后提供一种访问您需要的信息的方法。它可能看起来像这样(简化版本):

public class MyPanel extends JPanel {
// ...

private long _openTime = 0;
private long _closeTime = 0;

public long getOpenTime() {
long closed = _closeTime;

// if the window is still open, use current time...
if (closed == 0) {
closed = System.currentTimeMillis();
}

return (closed - _openTime);
}

public void onWindowOpened(WindowEvent evt) {
_openTime = System.currentTimeMillis();
}

public void onWindowClosed(WindowEvent evt) {
_closeTime = System.currentTimeMillis();
System.out.println(getOpenedTime()); // DEBUG
}
}

只要对象保持有效,就可以访问“打开时间”。这将包括订阅该对象上的事件的任何调用者。

关于java - 跟踪 Java 中窗口打开的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13106207/

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