■softKeyPressedの処理をチェック!
ここでは、MainPanel自身にimplements SoftKeyListenerしています。softKeyReleasedのほうは特に使わず、softKeyPressedだけに処理を用意してあります。このメソッド部分を見ると、以下のような形で処理を記述していることがわかります。
switch(key){
case Frame.SOFT_KEY_1:
……左のソフトキーを押したときの処理……
break;
case Frame.SOFT_KEY_2:
……右のソフトキーを押したときの処理……
break;
}
softKeyPressed/softKeyReleasedメソッドでは、押されたキーの値を示すint値が引数で渡されます。これは、Frameクラスに用意されているクラスフィールドを使って、どのキーが押されたのかをチェックすることができます。
ここでは、keyがSOFT_KEY_1だった場合には、TextBoxのテキストを取り出し、それを元にLabelにテキストを設定しています。テキストの取得と変更は「getText」「setText」で行うことができます。このあたりは感覚的にわかるでしょう。
もう1つの、keyがSOFT_KEY_2だった場合には、プログラムを終了する処理をしています。プログラムの終了は、IApplicationに用意されている「terminate」というメソッドを呼び出して行います。したがって、まずIApplicationインスタンスを取得し、そこからメソッドを呼び出す必要があります。
IApplication app = IApplication.getCurrentApp();
app.terminate();
IApplicationにある「getCurrentApp」というクラスメソッドは、現在実行中のIApplicationインスタンスを返します。これでインスタンスを取得し、terminateを呼び出すことでプログラムが終了できます。これは、プログラム終了の基本として頻繁に使われるものですので、ここで覚えておくと良いでしょう。
※リストが表示されない場合
AddBlockなどの広告ブロックツールがONになっているとリストなどが表示されない場合があります。これらのツールをOFFにしてみてください。
public void softKeyPressed(int key) {
switch(key){
case Frame.SOFT_KEY_1:
String s = text.getText();
label.setText("あなたは、「" + s + "」と書いた。");
break;
case Frame.SOFT_KEY_2:
IApplication app = IApplication.getCurrentApp();
app.terminate();
break;
}
}

記事のリストに戻る