以下是我正在研究的Eclipse RCP应用程序的摘录:
说明:在类createContents(Composite)
内的方法ContainerSelectionDialog
中,我在createComposite(Composite)
中调用MyComposite
,它继承自抽象类{ {1}}:
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));
我正在创建SWT小部件,例如createComposite(Composite)
,org.eclipse.swt.widgets.Text
等。例如:
org.eclipse.swt.widgets.Combo
因此,在我的Eclipse RCP应用程序中,用户可以打开包含已定义的窗口小部件元素的对话框,在该对话框中可以输入数据。在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);
,在课程okPressed()
中,我想使用ContainerSelectionDialog
中的getSettings()
来阅读用户输入的值:
MyComposite
这不是我的设计决定。我只想了解以下内容:如何使用@Override
protected void okPressed() {
List<Object> results = new ArrayList<>();
results.add(abstractCompositeProxy.getSimulationSettings());
setResult(results);
super.okPressed();
}
中的getSettings()
方法获取值?
希望这是足够的信息,否则我会在评论中提供更多信息。我会赞美任何帮助!
答案 0 :(得分:0)
以与compositeProxy
相同的方式从okPressed()
访问createContents()
。