ダイアログ その 3
で、中身を作り込んでいくわけですが、分からん ^^;;;;;;
とりあえず、home という Composite オブジェクトを作成して、そこに GridLayout クラスを使って 3 列で並べていきました。
Composite composite = (Composite)super.createDialogArea(parent);
Composite home = new Composite(composite, SWT.NONE);
GridData data = new GridData(GridData.FILL_BOTH);
data.horizontalSpan = 1;
home.setLayoutData(data);
home.setLayout(new GridLayout(3, true));
Label jarFilenameLabel = new Label(home, SWT.LEFT);
jarFilenameLabel.setText("JAR Filename:");
jarFilenameText = new Text(home, SWT.BORDER);
Button jarFilenameBrowseButton = new Button(home, SWT.LEFT);
jarFilenameBrowseButton.setText("Browse...");
Label titleLabel = new Label(home, SWT.LEFT);
titleLabel.setText("Application Title:");
titleText = new Text(home, SWT.BORDER);
Label dummyLabel = new Label(home, SWT.NONE);
Label mainClassLabel = new Label(home, SWT.LEFT);
mainClassLabel.setText("Main Class:");
mainClassText = new Text(home, SWT.BORDER);
Button mainClassSearchButton = new Button(home, SWT.LEFT);
mainClassSearchButton.setText("Search...");
Label iconFilenameLabel = new Label(home, SWT.LEFT);
iconFilenameLabel.setText("Icon Filename:");
iconFilenameText = new Text(home, SWT.BORDER);
Button iconFilenameBrowseButton = new Button(home, SWT.LEFT);
iconFilenameBrowseButton.setText("Browse...");
Label configFilenameLabel = new Label(home, SWT.LEFT);
configFilenameLabel.setText("Config Filename:");
configFilenameText = new Text(home, SWT.BORDER);
Button configFilenameBrowseButton = new Button(home, SWT.LEFT);
configFilenameBrowseButton.setText("Browse...");さて、これで実行すると...

なぜ、ダイアログいっぱいにひょうじされないんだぁぁぁぁぁぁ !!
GridData.minimumWidth を大きめに設定してみたのですが、何も変化なし。かといって、home を作らずに composite に直接ウィジェットを貼るわけにもいかないし... どうすればいいんでしょ?
composite には home 以外に Label オブジェクトが貼ってあるので、これの GridData オブジェクトを調べてみると
GridData {horizontalAlignment=SWT.FILL grabExcessHorizontalSpace=true verticalAlignment=GridData.CENTER}そうかというわけで、同じ設定にしてみましたが、変化なし。うーん、手詰まり。どうすればいいんだろう。
まぁ、いいや、レイアウトなんて。あとにしよ、あと。