// テキスト入力、表示用で、再利用を考えたパネル
import com.nttdocomo.ui.*;//IApplicationのiアプリで使う各種クラスの利用
public class EditPanel extends Panel implements SoftKeyListener {
public IApplication i_app;//呼び出し元の作品であるHelloWorldを管理する。コンストラクタで記憶
Frame softBackFrame = null; //ソフトキー1で進むFrame nullの指定時は終了
Frame softNextFrame = null; //ソフトキー2で進むFrame
public ClockTicker ticker;
TextBox txt = new TextBox("\n\n\n\n\n\n\n\n\n\n\n" ,40,11,TextBox.DISPLAY_ANY);;
public EditPanel(IApplication app,String title){
i_app = app; //plicationを継承した作品objをメモ
int back = Graphics.getColorOfRGB(192,192,192);
setBackground(back);
setTitle(title);
add(txt);
ticker = new ClockTicker();
add(ticker.getClockTicker());
//インターフェイスに対する初期化
setSoftKeyListener(this); // SoftKeyListener
//setComponentListener(this);//コンポーネントリスナを登録
}
public void setSoft1Frame(Frame frm, String lbl){
softBackFrame = frm;
setSoftLabel(Frame.SOFT_KEY_1, lbl);
}
public void setSoft2Frame(Frame frm, String lbl){
softNextFrame = frm;
setSoftLabel(Frame.SOFT_KEY_2, lbl);
}
public void softKeyPressed(int key_id){ //SoftKeyListenerのabstracを実装
}
public void softKeyReleased(int key_id){//SoftKeyListenerのabstracを実装
if ( key_id == Frame.SOFT_KEY_1 ){
//前のFrameへ戻る
if(softBackFrame != null){
Display.setCurrent(softBackFrame);//移動
changeBackEvent(this,softBackFrame);
} else {
soft1NullAction();
}
} else if (key_id == Frame.SOFT_KEY_2 ){
//次のFrameへ移動
if(softNextFrame != null){
Display.setCurrent(softNextFrame);//移動
changeNextEvent(this,softNextFrame);
} else {
soft2NullAction();
}
}
}
public void setText(String s){
txt.setText(s);
}
public String getText(){
return txt.getText();
}
//以下はオーバーライドして振る舞いを変更する場合に使う。
public void changeBackEvent(Frame from, Frame to){
}
public void changeNextEvent(Frame from, Frame to){
}
public void soft1NullAction(){
}
public void soft2NullAction(){
}
}