前回は開発環境を整え実記にHellowWorldを表示させるまでを行いました。
今回は実際ソースコードを書いていく上で、コードが何を意味しているかを解説していきます。
まず、プロジェクトを新規作成すると、下のソースコードが作成されます。
1:import com.nttdocomo.ui.*; 2:public class SampleIApp extends IApplication { 3: public void start() { 4: Display.setCurrent((Frame)new MainPanel()); 5: } 6:} 7:class MainPanel extends Panel { 8: MainPanel() { 9: setTitle("Start IApplication"); 10: } 11:}
これが、基本となるソースコードです。
iアプリでは基本的には2つのクラスで構成されます。
IApplication継承クラス
iアプリのメインクラスとなります。
上の2行目でSampleIAppというのがメインクラスとなります。
クラス名の後ろにextendsがあり、その後ろの「IApplicationを継承する」意味があります。
IApplicationはcom.nttdocomo.ui.IApplicationに定義されています。
このcom.nttdocomo.uiはiアプリで使用するユーザーインターフェイスのコンポーネントが纏められています。
このクラスは、iアプリの本体であり、実際に画面に何かを表示するのは次に紹介する画面表示用のクラスになります。
Panel継承クラス
画面表示を行うクラスです。(7行目)
ここではcom.nttdocomo.uiパッケージに定義されているPanelクラスを継承しています。
iアプリの場合はウィンドウではなくPanelを使用して画面に表示しています。
継承元はソースの先頭で定義されています
import com.nttdocomo.ui.IApplication; import com.nttdocomo.ui.Panel;
startメソッド
続いてクラスので何が行われているか解説します。
3行目で呼んで字のごとくプログラムの始まりです。
こちらはIApplication継承クラスのstartメソッドというものです。
4行目、Display.setCurrent((Frame)new MainPanel());は
DisplayクラスのsetCurrentというメソッドを呼び出しています。こちらは、引数に指定したオブジェクト(Frame)を画面に表示する働きをします。これにより、MainPanelが実態をもち画面に表示されます。
MainPanelメソッド
続いて、PanelのコンストラクタではsetTitle(“Start IApplication”);(9行目)と記述しています。
これはタイトル表示を設定している部分です。実行したアプリケーションの上部に表示されます。
例えば、ここに「Hellow World」と値を変更すると、画面上部のタイトルが変更されます。
これで、基本ソースコードの解説を終わります。
次回は、このベースのソースを改良して、自分なりのプログラムを作ることにしましょう。