马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
73行到77行代码填空怎么填?getAnswer.add(监视器)不对吗????package Test2_3Circle;
import java.awt.*;
import java.awt.event.*;
import java.util.Random;
import javax.swing.*;
public class MainClass {
public static void main(String args[]) {
ComputerFrame frame;
frame=new ComputerFrame();
frame.setTitle("算术测试");
frame.setBounds(100,100,650,180);
}
}
class ComputerFrame extends JFrame {
JMenuBar menubar;
JMenu choiceGrade; //选择级别的菜单
JMenuItem grade1,grade2;
JTextField textOne,textTwo,textResult;
JButton getProblem,giveAnwser;
JLabel operatorLabel,message;
Teacher teacherZhang;
ComputerFrame() {
teacherZhang=new Teacher();
teacherZhang.setMaxInteger(20);
setLayout(new FlowLayout());
menubar = new JMenuBar();
choiceGrade = new JMenu("选择级别");
grade1 = new JMenuItem("幼儿级别");
grade2 = new JMenuItem("儿童级别");
grade1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
teacherZhang.setMaxInteger(10);
}
});
grade2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
teacherZhang.setMaxInteger(50);
}
});
choiceGrade.add(grade1);
choiceGrade.add(grade2);
menubar.add(choiceGrade);
setJMenuBar(menubar);
textOne =new JTextField(5);//【代码1】 //创建textOne,其可见字符长是5
textTwo=new JTextField(5);
textResult=new JTextField(5);
operatorLabel=new JLabel("+");
operatorLabel.setFont(new Font("Arial",Font.BOLD,20));
message=new JLabel("你还没有回答呢");
getProblem=new JButton("获取题目");
giveAnwser=new JButton("确认答案");
add(getProblem);
add(textOne);
add(operatorLabel);
add(textTwo);
add(new JLabel("="));
add(textResult);
add(giveAnwser);
add(message);
textResult.requestFocus();
textOne.setEditable(false);
textTwo.setEditable(false);
getProblem.setActionCommand("getProblem");
textResult.setActionCommand("answer");
giveAnwser.setActionCommand("answer");
teacherZhang.setJTextField(textOne,textTwo,textResult);
teacherZhang.setJLabel(operatorLabel,message);
// 【代码2】//将teacherZhang注册为getProblem的ActionEvent事件监视器
// 【代码3】//将teacherZhang注册为giveAnwser的ActionEvent事件监视器
// giveAnwser.add(teacherZhang);
// 【代码4】//将teacherZhang注册为textResult的ActionEvent事件监视器
setVisible(true);
validate();
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
}
}
class Teacher implements ActionListener {
int numberOne,numberTwo;
String operator="";
boolean isRight;
Random random; //用于给出随机数
int maxInteger; //题目中最大的整数
JTextField textOne,textTwo,textResult;
JLabel operatorLabel,message;
Teacher() {
random = new Random();
}
public void setMaxInteger(int n) {
maxInteger=n;
}
public void actionPerformed(ActionEvent e) {
String str = e.getActionCommand();
if(str.equals("getProblem")) {
numberOne = random.nextInt(maxInteger)+1;//1至maxInteger之间的随机数;
numberTwo=random.nextInt(maxInteger)+1;
double d=Math.random(); // 获取(0,1)之间的随机数
if(d>=0.5)
operator="+";
else
operator="-";
textOne.setText(""+numberOne);
textTwo.setText(""+numberTwo);
operatorLabel.setText(operator);
message.setText("请回答");
textResult.setText(null);
}
else if(str.equals("answer")) {
String answer=textResult.getText();
try{ int result=Integer.parseInt(answer);
if(operator.equals("+")){
if(result==numberOne+numberTwo)
message.setText("你回答正确");
else
message.setText("你回答错误");
}
else if(operator.equals("-")){
if(result==numberOne-numberTwo)
message.setText("你回答正确");
else
message.setText("你回答错误");
}
}
catch(NumberFormatException ex) {
message.setText("请输入数字字符");
}
}
}
public void setJTextField(JTextField ... t) {
textOne=t[0];
textTwo=t[1];
textResult=t[2];
}
public void setJLabel(JLabel ...label) {
operatorLabel=label[0];
message=label[1];
}
}
|