Action クラスを作成
昨日の続きで Action クラスを作ります。
はじめに Extensions のところで、Start LG3D (action) を選択して、[class:] をクリック。
入力するのはパッケージとクラス名です。パッケージには jp.gr.java_conf.skrb.lg3d.wrpe.actions、クラス名は StartActionDelegate にしました。実装するインタフェースはすでに記入されていることは以前書きましたね。
[Finish] して作られたクラスは
package jp.gr.java_conf.skrb.lg3d.wrpe.actions; import org.eclipse.jface.action.IAction; import org.eclipse.jface.viewers.ISelection; import org.eclipse.ui.IWorkbenchWindow; import org.eclipse.ui.IWorkbenchWindowActionDelegate; public class StartActionDelegate implements IWorkbenchWindowActionDelegate { public void dispose() { } public void init(IWorkbenchWindow window) { } public void run(IAction action) { } public void selectionChanged(IAction action, ISelection selection) { } }
(コメントは省略してあります)
Hello, World のサンプルのように init で window を持つようにしました。
private IWorkbenchWindow window; public void init(IWorkbenchWindow window) { this.window = window; }
そして、run メソッドはとりあえず、System.out.println でメッセージを出すだけにしてあります。
public void run(IAction action) { System.out.println("StartAction#run"); }
そして、selectionChanged メソッドはそのまま空っぽにしておきます。同じく dispose メソッドも。
それで実行。メニューを選択したり、ボタンをクリックするとちゃんとメッセージが出力されました。