KotlinでImageJ Plugin作成-2
Kotlinクラスを作成する
前回までで環境設定が終わったので、Kotlinで早速Pluginの作っていく。画面としては、左にProjectが表示されているとする- 作成したProjectを展開して、
src\main\java
まで選ぶ - javaを右クリックして[New -> Package]を選ぶ
- Package名を入力する
jp.yo4
のような感じ- Packageは他の同名クラスと区別するためにも必ず設定する
- Package名で右クリックし、[New -> Kotlin Class/File]を選ぶ
- 名前はtest1などとする。KindはClassを選び、OK
ここまででこんな感じになっているのではないだろうか?
PlugInFilterを実装する
Javaの場合はpublic class Filter_Plugin implements PlugInFilter
としてインターフェースを実装していたが、Kotlinの場合、class test: PlugInFilter {
とする。class test
の後に: PlugInFilter
と入力する。pom.xmlにimagejのdependencyを設定してあれば、途中まで入力すれば候補が現れる
- 自動的に
import ij.plugin.filter.PlugInFilter
も入力される。このあたりがIDEの便利なところ。
- 自動的に
class test
の部分に赤で波線が表示されている。これは、この箇所に問題があることを示している。- 波線をクリックすると、
Class ‘test’ must be declared abstract or implement abstract member
などと言われる。PlugInFilterは必ずrunメソッドとsetupメソッドを実装する必要があるためである。
さらに表示される赤い電球+ビックリマークをクリックする Implement Membersを選ぶ。すると、ウィンドウが現れ、未実装のメソッド(ここではsetupとrun)が出てくるのでシフトキーを押しながら複数選択し、OKを押す その結果、自動的にメソッドが挿入される。
class test: PlugInFilter {
override fun setup(p0: String?, p1: ImagePlus?): Int {
throw UnsupportedOperationException("not implemented") //To change body of created functions use File | Settings | File Templates.
}
override fun run(p0: ImageProcessor?) {
throw UnsupportedOperationException("not implemented") //To change body of created functions use File | Settings | File Templates.
}
次はコードを記述していく。(2017/01/25 タイトルを少し変更)
0 件のコメント:
コメントを投稿