本日  昨日
 
 
04/26(Fri) 22:47

ズーム表示、小ウィンドウでヘルプ表示、パラメータ値の取得
やりたいこと
前回までで、コントロールパネル、ステータスパネルのボタン操作の基本部分が完成しました。今回はまだ動作してない機能を作成します。これで実データがないと確認できない部分以外は完成すると思います。
  1. ズーム「+」「−」ボタンで天球サイズを拡大・縮小表示する。
  2. 「ヘルプ」ボタンで小ウィンドウにヘルプ表示をする。
  3. 利用者が画面サイズ、観測地デフォルト値を設定できるよう、HTML文書よりパラメータの内容を受け取る。

ズーム表示
//変数のstatic宣言 static int offsetX = 10; //横両サイドのりしろ static int offsetY = 20; //縦両サイドのりしろ static int msize = 12; //表示文字のサイズ(px) //init()でのサイズ計算と設定 setSize(canvas.R+canvas.offsetX*2,canvas.R/2+canvas.offsetY*2+canvas.msize+60); //ズームボタンのイベント処理 Object src = evt.getSource(); //イベント種類 String arg = evt.getActionCommand(); //イベント文字列 if (src == button_Zoomin) { canvas.R *=1.2; canvas.repaint(); } if (src == button_Zoomout) { canvas.R /=1.2; canvas.repaint(); }

小ウィンドウでヘルプ表示
//インスタンス作成 Frame window = new SkyHelp("星空ウォッチング(プラネタリウム)ヘルプ"); //小ウィンドウの表示設定 window.setSize(500, 150); //Windowのサイズ決め window.setLocation(180, 100); //Windowの表示位置決め //ボタンイベント処理 Object src = evt.getSource(); //イベント種類 String arg = evt.getActionCommand(); //イベント文字列 if (src == button_help) { if (arg.equals("ヘルプ")) { button_help.setLabel("閉じる"); window.show(); } if (arg.equals("閉じる")) { button_help.setLabel("ヘルプ"); window.dispose(); } } // ヘルプウィンドウ クラス class SkyHelp extends Frame { SkyHelp(String help) { super(help); setBackground(Color.white); setForeground(Color.blue); setFont(new Font("Dialog",Font.PLAIN,12)); } public void paint(Graphics g) { String msg ="ここに使用方法のヘルプを書く予定です。 表示を消す時は「閉じる」を押して下さい。"; g.drawString(msg,10,40); //文字表示 } } //end of SkyHelp

HTML文書よりパラメータの内容を受け取る
//変数のstatic宣言 static int R; //天球の半径 static String cityName; //観測地名 //HTML文書よりパラメータの内容を受け取る。 canvas.R = Integer.parseInt(getParameter("size")); //画面サイズ if(getParameter("size") == null) canvas.R = 600; canvas.cityName = getParameter("city"); //観測地名 if(canvas.cityName == null) canvas.cityName = "横浜";


ここまでの ソースリスト(SkyWatching.java)データリスト(SkyData.java)
(注)このソースは作成途中のものですが上記アップレットの表示ができます(左クリックでソース表示、右クリックでファイル保存です)