gpt4 book ai didi

java - 如何向 JFace ErrorDialog 添加按钮

转载 作者:行者123 更新时间:2023-11-30 07:01:23 25 4
gpt4 key购买 nike

我正在尝试向此弹出对话框添加一个“取消”按钮,该对话框基本上只是为用户提供一些信息并允许他们点击"is"或查看详细信息。问题是没有取消按钮,我想添加一个。

该对话框是一个 JFace ErrorDialog,它使用预制的 MultiStatus 来显示错误消息。对话框打开并给出一个 OK 按钮或一个 Cancel 按钮。无论如何直接操纵对话框如何创建按钮或我可以用来改变它的外观的其他一些方法?感谢您的帮助!

if (ErrorDialog.openError(shell, 
Messages.ConsistencyAction_confirm_dialog_title, null,
multiStatus, IStatus.WARNING) != Window.OK) {
return;
}

这是我要更改的对话框。这基本上是检查以确保有人按下 ok,如果他们没有按下则退出。您可以通过点击角落里的红色 X 退出它,但如果有一个按钮就不会那么困惑。

最佳答案

您可以扩展 ErrorDialog 类,以便您可以覆盖 createButtonsForButtonBar 方法。

例如,这是来自 Eclipse p2 安装插件:

public class OkCancelErrorDialog extends ErrorDialog {

public OkCancelErrorDialog(Shell parentShell, String dialogTitle, String message, IStatus status, int displayMask) {
super(parentShell, dialogTitle, message, status, displayMask);
}

@Override
protected void createButtonsForButtonBar(Composite parent) {
// create OK, Cancel and Details buttons
createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true);
createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, true);
createDetailsButton(parent);
}
}

有了这个你就不能使用静态的 ErrorDialog.openError 方法了,相反你必须做类似的事情:

OkCancelErrorDialog dialog = new OkCancelErrorDialog(shell, Messages.ConsistencyAction_confirm_dialog_title, null, multiStatus, IStatus.WARNING);

关于java - 如何向 JFace ErrorDialog 添加按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29875134/

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