我的对话框中有一个 Combo 和一个文本小部件。最初加载对话框时,我只希望组合出现,但基于组合选择,我希望显示文本。
这是代码:
public class NewDialog extends Dialog
{
private Label label1;
private Combo combo;
private Label label2;
private Text text;
private Composite container;
public NewDialog(Shell parentShell) {
super(parentShell);
}
@Override
protected Control createDialogArea(Composite parent)
{
container = (Composite) super.createDialogArea(parent);
GridLayout gridLayout = (GridLayout) container.getLayout();
gridLayout.numColumns = 3;
new Label(container, SWT.NONE);
new Label(container, SWT.NONE);
new Label(container, SWT.NONE);
new Label(container, SWT.NONE);
label1 = new Label(container, SWT.NONE);
label1.setText("Class");
combo = new Combo(container, SWT.NONE);
GridData gd_combo = new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1);
gd_combo.widthHint = 165;
combo.setLayoutData(gd_combo);
new Label(container, SWT.NONE);
new Label(container, SWT.NONE);
new Label(container, SWT.NONE);
new Label(container, SWT.NONE);
new Label(container, SWT.NONE);
new Label(container, SWT.NONE);
new Label(container, SWT.NONE);
combo.add("One");
combo.add("Two");
combo.add("Three");
combo.addSelectionListener(new SelectionAdapter()
{
public void widgetSelected(SelectionEvent event)
{
if(combo.getText().equals("One"))
{
label2 = new Label(container, SWT.NONE);
label2.setText("Name");
text = new Text(container, SWT.BORDER);
GridData gd_text = new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1);
gd_text.widthHint = 239;
text.setLayoutData(gd_text);
}
}
});
return container;
}
我没有根据组合选择在对话框中显示文本。
请让我知道我哪里出错了