入力画面を表示する
キャラの名前の入力画面を取り消すと発生するバグを修正しました。
charaNameを入力していないのに描画させようとしていたために発生したバグです。
名前を入力するにはJOptionPaneを使用します。実は入力ダイアログの表示はとても簡単なのです。
String型でcharaNameを定義しJOptionPane.showInputDialog()でダイアログを呼び出しています。
ただ、入力文字数がとてもたくさん入ってしまうため制限を設けてあります。
入力文字数が5文字以内の場合は入力された値をそのままcharaNameに登録。
もし5文字を超えた場合には最初の文字から5文字目までをcharaNameに登録するようにしました。
public void inputName(){
isChara=false;
//入力ダイアログの表示
charaName=JOptionPane.showInputDialog(null,"5文字以内で入力してください");
//取り消しが選択された場合
if(charaName==null){
}else{
//入力文字数が5文字を超えた場合
if(charaName.length()>5){
//5文字目までを登録
this.charaName=charaName.substring(0,5);
isChara=true;
}else{
this.charaName=charaName;
isChara=true;
}
}
}
次は描画処理の部分です。
わかりやすくするために(作者が面倒になったわけではありません!)String型で文字列を登録して
ウィンドウ上部に表示しています。表示させる座標の計算がめんど・・・難しいので。
本当はこういうやり方はよくないらしいのですが、今回はわかりやすくするために!これでやってあります。
ウィンドウ上部の項目を表示の部分がそれですね。
入力されたキャラの値を表示するのが2番目。最後がウィンドウ枠の表示になります。
座標の計算は自分でやってみてくださぃ。これはそんなに難しくないハズです。
高校の数学のテストが毎回赤点ギリギリだった作者が考えたくらぃですから(笑)
public void draw(Graphics g){
for(int i=0;i<addMenu.length;i++){
g.drawString(addMenu[i],x,y+CL*i);
}
//ウィンドウ上部の項目を表示
g.drawString(windowTop,x+CL,y*windowSize+CL);
//ウィンドウの表示
g.drawRect(x,y*windowSize,x*windowSize+CL+CL,CL*windowSize);
//キャラの名前を表示
if(isChara){
g.drawString(charaName,x+CL,y*windowSize+CL+CL);
}
}
- サンプルのJARファイルはスポンサーリンクの↓に張ってあるので自由にダウンロードしてくださぃ♪
最終更新:2008年06月24日 19:15