|
|
12/22(Sun) 02:44
■ ズーム表示、小ウィンドウでヘルプ表示、パラメータ値の取得
■やりたいこと
前回までで、コントロールパネル、ステータスパネルのボタン操作の基本部分が完成しました。今回はまだ動作してない機能を作成します。これで実データがないと確認できない部分以外は完成すると思います。
- ズーム「+」「−」ボタンで天球サイズを拡大・縮小表示する。
- 「ヘルプ」ボタンで小ウィンドウにヘルプ表示をする。
- 利用者が画面サイズ、観測地デフォルト値を設定できるよう、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) (注)このソースは作成途中のものですが上記アップレットの表示ができます(左クリックでソース表示、右クリックでファイル保存です)
|
|