ダイアログにコンボとテキスト ウィジェットがあります。ダイアログが最初にロードされたとき、私はコンボを存在させたいだけですが、コンボの選択に基づいてテキストを表示したいのです。
コードは次のとおりです。
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;
}
コンボの選択に基づいてダイアログに表示されるテキストを取得していません。
どこが間違っているのか教えてください