我有一个 JFace 对话框,这就是我打开的方式:
SampleDialog dialog = new SampleDialog(shell);
if(Window.OK == dialog.open())
{
// do something
if(condition)
{
MessageBox dialog = new MessageBox(shell, SWT.ICON_QUESTION | SWT.OK| SWT.CANCEL);
dialog.setText("Sample");
dialog.setMessage("Some problem in processing");
}
else
{
// do something
}
}
如果控件转到 if block ,我不希望关闭对话框。如何实现这一目标?
最佳答案
您应该通过重写对话框中的 okPressed
方法来显示检查和消息框。
public class SampleDialog extends Dialog
{
@Override
protected void okPressed()
{
if (condition)
{
// TODO show your message box
}
else
{
// Allow the dialog to close
super.okPressed();
}
}
}
关于java - 如何在dialog.open()之后阻止JFace对话框关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22342843/