java - 如何在 Eclipse RCP 应用程序中使用用户输入?

标签 java eclipse-plugin swt eclipse-rcp jface

以下是我正在开发的 Eclipse RCP 应用程序的摘录:

UML diagram

描述:ContainerSelectionDialog类内的createContents(Composite)方法中,我在MyComposite中调用createComposite(Composite),它继承自抽象类AbstractCompositeProxy:

TabFolder folder = new TabFolder((Composite) dialogArea, SWT.TOP);
Composite comp = (Composite) super.createDialogArea(folder);
TabItem tab = new TabItem(folder, SWT.NONE);
tab.setText("Header");
tab.setControl(compositeProxy
        .createComposite(comp));

createComposite(Composite)内部,我正在创建SWT小部件,例如org.eclipse.swt.widgets.Textorg.eclipse.swt.widgets.Combo等。示例:

Label label = new Label(parentComposite, SWT.NONE);
label.setText("Something");

Text text = new Text(parentComposite, SWT.BORDER);
GridData gridData = new GridData();
gridData.horizontalAlignment = SWT.FILL;
gridData.grabExcessHorizontalSpace = true;
text.setLayoutData(gridData);

因此,在我的 Eclipse RCP 应用程序中,用户可以打开一个包含定义的小部件元素的对话框,在其中可以输入数据。在 okPressed() 中,在 ContainerSelectionDialog 类中,我想通过使用 MyComposite 中的 getSettings() 读取用户输入的值:

@Override
protected void okPressed() {
    List<Object> results = new ArrayList<>();
    results.add(abstractCompositeProxy.getSimulationSettings());
    setResult(results);
    super.okPressed();
}

这不是我的设计决定。我只是想了解以下内容:如何使用 okPressed() 中的 getSettings() 方法来获取值?

希望这是足够的信息,否则我将在评论中提供更多信息。我会感谢任何帮助!

最佳答案

okPressed() 访问 compositeProxy 的方式与在 createContents() 中的操作方式相同。

关于java - 如何在 Eclipse RCP 应用程序中使用用户输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32454167/

相关文章:

java - 在 XmlElement 上不区分大小写

java - 当使用 SFTP 协议(protocol)上传文件时通知 Java 或 Python

java - Eclipse RCP 3.x 插件无法与 Eclipse 4.x 一起正常工作

eclipse - 在 Eclipse SWT/JFace 中具有自动完成功能的 TextCellEditor?

java - 为什么我们在使用@TransactionAttribute的时候还要使用@Stateless? EJB

eclipse - 如何从另一个插件获取资源?

java - 如何从eclipse windows执行java程序到Linux服务器

java - 如何确定图像在 CTabItem 中的正确位置

css - 如何设置 SWT 文本字段中消息的样式?

java - Maven2有哪些隐藏特性?