libro
www.tuyano.com
iアプリ・プログラミング入門

Panelを極めよう! (8/8)

作成:2009-12-29 19:18
更新:2009-12-29 19:18

■数字キーを押して数字を入力する

では、実際に簡単なサンプルを作ってみましょう。数字キーを押して直接画面に数字を表示させていくものです。

ここでは、keyPressedで引数のキーの値をswitchで分岐処理しています。この部分を見ると、こんな具合にcaseが並んでいますね。

switch(key){
case Display.KEY_0:
    msg += "0";
    break;
case Display.KEY_1:
    msg += "1";
    break;
case Display.KEY_2:
    ……以下略……

caseで、Display.KEY_0を指定して「押されたキーがゼロかどうか」をチェックしています。KEY_1では「1かどうか」、KEY_2では「2かどうか」……という具合に、1つ1つのキーについて順にチェックしながら処理を用意していくのです。キーの値は、こんな具合にDisplayクラスに用意されています。数字キー以外のものも用意されているので、一度Displayクラスについて調べてみるといいでしょう。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

※MainPanelの修正
class MainPanel extends Panel implements KeyListener {
    private Label label;
    private ListBox list;
    private String msg = "";
    
    MainPanel() {
        setTitle("Start IApplication");
        label = new Label("Button Sample");
        this.add(label);
        this.setKeyListener(this);
    }

    public void keyPressed(Panel panel, int key) {
        switch(key){
        case Display.KEY_0:
            msg += "0";
            break;
        case Display.KEY_1:
            msg += "1";
            break;
        case Display.KEY_2:
            msg += "2";
            break;
        case Display.KEY_3:
            msg += "3";
            break;
        case Display.KEY_4:
            msg += "4";
            break;
        case Display.KEY_5:
            msg += "5";
            break;
        case Display.KEY_6:
            msg += "6";
            break;
        case Display.KEY_7:
            msg += "7";
            break;
        case Display.KEY_8:
            msg += "8";
            break;
        case Display.KEY_9:
            msg += "9";
            break;
        }
        label.setText(msg);
    }

    public void keyReleased(Panel panel, int key) {}

}

※関連コンテンツ

「iアプリ・プログラミング入門」に戻る