Canvasの切り替えを利用する方法は第15回で説明しました。ただし、そこで説明した方法では、一々初期状態に戻ります。具体的には、移動前に選択されていた項目の状態を保存しておきたい、第17回
ではそんな方法を考えてみます
。
Javaという言語はオブジェクトを基本として動作します。オブジェクトを思いっきり簡単に説明すると、プログラムと値を一緒に管理したものです。この場合は、Canvasがオブジェクトで、中には画面を表示するプログラムと何かの値をまとめたものです。
new MainCanvas() という命令は、新しいオブジェクトを生成する命令です。前回は、元のCanvasに戻るために Display.setCurrent( new MainCanvas() ) としていますので、初期化された状態(つまり、メニューの先頭が選ばれている)に戻ります。
戻るためには、元のオブジェクトを覚えておきましょう。覚えておく方法もいくつかありますが、今回は最初にこのオブジェクトを作ったところに覚えます。
public class Title extends IApplication {
MainCanvas mc = new MainCanvas(); public void start() {
Display.setCurrent((Frame)mc);
}
}
合わせてキーを押したときにCanvas の移動をするパターンを増やしておきます。前回は0番でだけ移動していましたが、これを1,2番でも移動させましょう。
if( param == Display.KEY_SELECT) {
if( sel==0 ) Display.setCurrent(new FirstCanvas());
if( sel==1 ) Display.setCurrent(new FirstCanvas());
if( sel==2 ) Display.setCurrent(new FirstCanvas()); }
長くなってきました。今回はここまでで。
値は保持されていますが、今のままではそれを活用していません。その手法については次回に説明することにしましょう。