我有一个“View”类,它扩展了ViewPart。 在我上课后,我想要显示一个包含两个标签的对话框。
首先,我使用了“InputDialog”:
Composite composite = new Composite(top, SWT.NONE);
Label label= new Label(tmpComposite, SWT.NONE);
label.setText("");
InputDialog dlg;
dlg = new InputDialog(Display.getCurrent().getActiveShell(),
"Title", "Some Text", label.getText(), insertValidator());
if (dlg.open() == Window.OK) {
//Do sth.
}
这很有效。但现在我有两个标签。我怎么才能意识到这一点? 我找到了一些解决方案,但它们都没有在ViewPart或Eclipse RCP中工作。
感谢您的帮助!
顺便说一句,如果您的解决方案是从我的“View”调用java类,我怎样才能回到“View”,如何看到我的新对话框?试了一下,没有工作。
答案 0 :(得分:0)
您需要通过扩展org.eclipse.jface.dialogs.Dialog
:
public class MyDialog extends Dialog
{
public MyDialog(Shell parentShell)
{
super(parentShell);
}
@Override
protected Control createDialogArea(Composite parent)
{
Composite container = (Composite)super.createDialogArea(parent);
// Add your controls here
return container;
}
}
您以与InputDialog
MyDialog dialog = new MyDialog(shell);
dialog.open();
请查看http://www.vogella.com/articles/EclipseDialogs/article.html了解更多详情。