gpt4 book ai didi

java - 重新启用 Eclipse 插件进度监视器中禁用的取消按钮?

转载 作者:行者123 更新时间:2023-12-01 11:24:35 24 4
gpt4 key购买 nike

我在插件中有一个 ProgressMonitorDialog,并启用了取消按钮。

当操作运行时,如果用户单击取消按钮,我想询问他们是否确定要取消。我通过检查 ProgressMonitorDialog.isCanceled() 方法来做到这一点。

为此,我使用 MessageDialog openQuestion 方法。如果他们单击"is",那么我会抛出异常并取消操作。

如果他们单击“否”,那么我将调用 ProgressMonitorDialog.setCanceled(false) 方法并继续操作。

我遇到的问题是,一旦他们单击“取消”,该按钮就会被禁用并且无法重新启用。

有没有办法强制重新启用取消按钮,以便用户有机会再次取消请求?

这大致就是我的“confirmCancel”方法现在的样子:

private void confirmCancel(IProgressMonitor monitor) {
Display d = Display.getDefault();

final MutableBoolean cancel = new MutableBoolean(false);

d.syncExec(new Runnable() {

@Override
public void run() {
cancel.setValue(MessageDialog.openQuestion(null,
"Confirm Cancel",
"Are you sure you want to cancel the download?"));
}
});

if (cancel.booleanValue()) {
logDebug("Download canceled in DownloadOperation");
throw new OperationCanceledException("Copy canceled");
} else {
monitor.setCanceled(false);
// this is where I would like to re-enable the cancel button
}
}

最佳答案

像往常一样,当我发布问题时,我就会给出答案:)

我覆盖 cancelPressed() ProgressMonitorDialog 方法向用户显示问题,如果他们回答"is",我就运行 super.cancelPrssed() 方法。

关于java - 重新启用 Eclipse 插件进度监视器中禁用的取消按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30940912/

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