Swingと組み合わせて使えるように整備しました。
確認のための操作やパラメータ表示などは外に出してSwingで確認すれば良いので、Swingと組み合わせて使えるようにしました。
PixelBufferの受け皿を用意しました。
表示する直前にバッファを作るためContainer#validateを利用しました。手探りのため試行錯誤しました。詳しいことは開発日記に書きました。
Swing関連の処理はPixelDrawingの外に出したかったため、リフレクションを使った委譲を実装しました。詳しいことは開発日記に書きました。
委譲を管理するためのクラスとしてPixelEventを用意しました。C#のeventに相当する機能を提供します。
public class Test {
public Test() {
PixelEvent e = new PixelEvent();
e.add(this, "myEvent1");
e.add(this, "myEvent2");
e.invoke(this, null);
}
private void myEvent1(Object sender, Object data) {
System.out.println("myEvent1");
}
private void myEvent2(Object sender, Object data) {
System.out.println("myEvent2");
}
}