とりあえず、半角数値を入力し
合っているかどうかを確認。
とりあえず ターミナルに表示。
//◯問題を表示させるためのclassを作成
//◯問題を表示させる
//◯ボタンを反応させる
//合っているかどうかの確認
import java.awt.*;
import java.awt.event.*;
class Awt6{
public static void main(String[] args){
MyWindow mw = new MyWindow();
}
}
class Prob{ //このクラスで問題(String)と答え(int)を代入する。
static int count; //いくつかの問題を出す為(確認用 count)
String problem;
int ans;
Prob(String problem, int ans){
this.problem = problem;
this.ans = ans;
count++;
}
}
class MyWindow extends Frame implements ActionListener{
Prob pro1;
TextField tf;
Button btn;
MyWindow(){
pro1 = new Prob("鎌倉幕府の成立は", 1185);
setTitle("問題集");
setSize(640, 400);
setLayout(null); //レイアウトの解除
tf = new TextField(20); //テキストフィールドのインスタンスの作成
tf.setBounds(80, 300, 370, 30); //x,t 大きさx,y
add(tf); //テキストフィールドの配置
btn = new Button(); //ボタンのインスタンスの作成
btn.addActionListener(this);
btn.setLabel("回答");
btn.setBounds(480, 300, 100, 35); //x,t 大きさx,y
add(btn);//ボタンの配置
setVisible(true);
addWindowListener( new WinListener() );
}
public void paint(Graphics g){
Font font1 = new Font("MS Pゴシック",Font.PLAIN,35);
g.setFont(font1);
g.setColor(Color.DARK_GRAY);
g.drawString(pro1.problem, 80, 130);
}
public void actionPerformed(ActionEvent e){
if(e.getSource() == btn) judgment();
}
void judgment(){
String str = tf.getText();
int num = 0;
try{
num = Integer.parseInt(str);
}
catch(Exception e){
System.out.println(e); //後に消去
tf.setText("半角数値で入力してね。");
}
System.out.println(num); //試験用 入力した数値を 表示
if (pro1.ans == num){
System.out.println("正解だよ");
}
else{
System.out.println("まちがいだよ");
}
}
}
class WinListener extends WindowAdapter{
public void windowClosing(WindowEvent e){System.exit(0);}
}
テキストフィールドから 文字列を受け取ることが出来た。
今日の教訓
前回 作った プログラムが 本当に役に立っている。
0 件のコメント:
コメントを投稿