iappli.lib.ui
クラス CostumePanel

Object
  上位を拡張 Frame
      上位を拡張 Canvas
          上位を拡張 iappli.lib.ui.CostumePanel

public abstract class CostumePanel
extends Canvas

Canvasを拡張したカスタムパネルです。

本クラスは、各種カスタムパネルの部品に対するイベント処理を実行します。
Canvasを継承する抽象クラスのため、 アプリ側でCanvasの機能をそのまま使うことが可能です。

processEvent2(CComponent, int, int) に、 Canvas#processEvent() のイベントが通知されます。
processEvent2(CComponent, int, int)には、 Panel同様に、コンポーネントからのイベント、BUTTON_PRESSEDSELECTION_CHANGEDTEXT_CHANGED が通知されます。 第一引数には、イベントが発生したコンポーネントオブジェクトが入ります。
イベントを通知させるには、addEvent(CComponent) にて、 インスタンス化したコンポーネント(部品)を登録してください。 これによりフォーカスが設定され、コンポーネントを選択できるようになります。

 【例】
 class Test extends CostumePanel {

   CButton bt = new CButton("ボタン");
 
   public void paint(Graphics g) {
     g.lock();
     bt.show(g, 10, 10, true);
     addEvent(bt);
     g.unlock(true)
   }
 
   public void processEvent2(CComponent c, int t, int p) {
     if (c == bt && t == CostumePanel.BUTTON_PRESSED) {
       System.out.println("OK");
     }
   }
 }
 


フィールドの概要
static int BUTTON_PRESSED
          ボタンが押された時に発行されるイベントです(=100)。
static int SELECTION_CHANGED
          リストのアイテムの選択が変化した時に発行されるイベントです(=200)。
static int TEXT_CHANGED
          テキストの文字列入力が確定したときに発行されるイベントです(=300)。
 
クラス Canvas から継承されたフィールド
IME_CANCELED, IME_COMMITTED
 
クラス Frame から継承されたフィールド
SOFT_KEY_1, SOFT_KEY_2
 
コンストラクタの概要
CostumePanel()
          カスタムパネルを生成します。
 
メソッドの概要
 void addEvent(CComponent comp)
          作成したコンポーネントをイベントリスナーに登録します。
abstract  void paint(Graphics g)
          キャンバスに表示するために使用するメソッドです。
 void processEvent(int t, int p)
          イベントが通知された時に呼ばれる処理です。
 void processEvent2(CComponent c, int t, int p)
          イベントが通知された時に呼ばれる処理です。
 void processIMEEvent(int type, String text)
          IMEイベントが通知されたときに呼ばれるメソッドです。
 void setFocus(CComponent comp)
          指定のコンポーネントにフォーカスを設定します。
 
クラス Canvas から継承されたメソッド
getGraphics, getKeypadState, getKeypadState, imeOn, imeOn, repaint, repaint
 
クラス Frame から継承されたメソッド
getHeight, getWidth, setBackground, setSoftLabel, setSoftLabelVisible
 
クラス Object から継承されたメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

BUTTON_PRESSED

public static final int BUTTON_PRESSED
ボタンが押された時に発行されるイベントです(=100)。
CCbuttonがフォーカスをもっているときに 選択キーが押された場合に発行されるイベントです。

関連項目:
定数フィールド値

SELECTION_CHANGED

public static final int SELECTION_CHANGED
リストのアイテムの選択が変化した時に発行されるイベントです(=200)。
CPulldownListもしくは、CCheckListがフォーカスをもっているときに リストを選択すると発行されるイベントです。

関連項目:
定数フィールド値

TEXT_CHANGED

public static final int TEXT_CHANGED
テキストの文字列入力が確定したときに発行されるイベントです(=300)。
CTextBoxがフォーカスをもっているときに テキスト入力を確定すると発行されるイベントです。

関連項目:
定数フィールド値
コンストラクタの詳細

CostumePanel

public CostumePanel()
カスタムパネルを生成します。

メソッドの詳細

addEvent

public void addEvent(CComponent comp)
作成したコンポーネントをイベントリスナーに登録します。
追加されたコンポーネントの順番にフォーカスされ、端末操作のイベントが、 フォーカスされているコンポーネントに対するイベントとして通知されます。 フォーカスさせたくない(選択させたくない)場合、または、 フォーカスの無いコンポーネント(CLabel、CBulletinBoard)は登録不要です。
すでに登録済みの同じオブジェクトの場合は登録されませんが、 選択された部品のフォーカスを再描画します。

パラメータ:
comp - 登録するコンポーネントを指定します。

setFocus

public void setFocus(CComponent comp)
指定のコンポーネントにフォーカスを設定します。
addEvent() で登録された部品のみ有効です。

パラメータ:
comp - フォーカスを設定するコンポーネントを指定します。

processEvent

public final void processEvent(int t,
                               int p)
イベントが通知された時に呼ばれる処理です。
サブクラスで本メソッドをオーバーライドする事はできません。 本メソッドの代わりとして、 CustumePanel#processEvent2(CComponent, int, int) を利用してください。

オーバーライド:
クラス Canvas 内の processEvent
パラメータ:
t - イベントのタイプを指定します。
p - イベントのパラメータを指定します。

processIMEEvent

public final void processIMEEvent(int type,
                                  String text)
IMEイベントが通知されたときに呼ばれるメソッドです。

オーバーライド:
クラス Canvas 内の processIMEEvent
パラメータ:
type - イベントのタイプが渡されます。
text - 入力された文字列が渡されます。

paint

public abstract void paint(Graphics g)
キャンバスに表示するために使用するメソッドです。
このメソッドは、キャンバスが表示されるタイミングで呼び出されます。

定義:
クラス Canvas 内の paint
パラメータ:
g - グラフィックスオブジェクトが渡されます。

processEvent2

public void processEvent2(CComponent c,
                          int t,
                          int p)
イベントが通知された時に呼ばれる処理です。
サブクラスで Canvas#processEvent() の代わりに用います。

パラメータ:
c - 現在選択中の部品オブジェクトが渡されます。
t - イベントのタイプが渡されます。
p - イベントのパラメータが渡されます。

Copyright ITmarks Inc. All rights reserved.