実践:MVCモデル(2)
By S.Nagao
本記事では、プログラミング開発において有用なフレームワークであるMVC(Model-View-Controller)モデルを、 VTK-wrap-Javaプログラミングを通じて理解します。
第二回は、実践:MVCモデル(1)に続いて、 Viewの理解です。
View - アプリケーションの表示クラス
メッシュを表示するProg-Aにおいて、Viewクラス群は、
vtkRenderer、
vtkWindowを保存する
vtkPanel、それを継承したvtkCanavsクラスになります。
vtkPanel extends java.awt.Panel
protected vtkWindow;
protected vtkRenderer;
public synchronized void Render(){ RenderCreate()}
public GetRenderer()
public override paint(){ Render()}
vtkCanvas extends vtkPanel
protected vtkGenericRenderWindowInteractor;
vtkPanelクラスは、java.awt.Panelクラスを継承して作成されています。
awt.Panelクラスは、ネイティブなGraphicsリソースを使用しており、
同じリソースをvtkRendererクラスでも使用しています。
両方のリソースを結合するのが、vtkPanelで使用されているRenderCreateネイティブメソッドです。
RenderCreateメソッドからRenderメソッドが呼ばれます。
Viewクラスの、repaintメソッドは、大概の場合において、paintメソッドを呼び出します。
したがって、paintメソッドをオーバーライドします。
Swingクラスと一緒に使用している時には、注意が必要です。これについては、 AWTとSwingのペイントの仕組みが参考になります。
vtkPanelおよび、vtkCanvasクラスは、VTKライブラリのJavaラッパーに含まれています。
実際のアプリケーションでは、マウスのホイールを使用するための拡張などを追加して使用しています。
今回は、ここまで。
次回は、実践:MVCモデル(3)です。