JAR ファイルを作る その 5

で、どうするかというとやっぱり org.eclipse.jface.dialogs.Dialog をそのまま使ってみようかと思います。

まずはダイアログをそのまま表示するところから。

        public void run(IAction action) {
            IWorkbench workbench = WrpePlugin.getDefault().getWorkbench();
            IWorkbenchWindow workBenchWindow = workbench.getActiveWorkbenchWindow();
            Shell shell =  workBenchWindow.getShell();
            class TempDialog extends Dialog {
                TempDialog(Shell shell) {
                    super(shell);
                }
            };
            Dialog dialog = new TempDialog(shell);
            System.out.println(dialog.open());
        }

Dialog のコンストラクタは protected なので、意味もなく派生クラスを作っています。

で実行してみると、つぎのような何にもないダイアログが表示されました。

Simple Dialog

それにしてもこのように派生させることを前提としたクラス設計って古いスタイルだと思うんですが、いかがでしょうか。

まぁ、いいや。

もう 1 つ TitleAreaDialog クラスというものがあるらしいので、これも試してみます。TitleAreaDialog クラスはコンストラクタが public なので、変な派生クラスを使わなくても済みそうです。

        public void run(IAction action) {
            IWorkbench workbench = WrpePlugin.getDefault().getWorkbench();
            IWorkbenchWindow workBenchWindow = workbench.getActiveWorkbenchWindow();
            Shell shell =  workBenchWindow.getShell();

            Dialog dialog = new TitleAreaDialog(shell);
            System.out.println(dialog.open());
        }

TitleAreaDialog

これはよく見たようなダイアログですね。これにいろいろとウィジェットを登録していきたいと思います。