使用Viewpart的JFace定制Eclipse RAP对话框

时间:2013-09-04 17:25:31

标签: java dialog jface

我有一个“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”,如何看到我的新对话框?试了一下,没有工作。

1 个答案:

答案 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了解更多详情。