Java实训——创建一个窗体程序,实现简单的数学加、减法测试。
来源:互联网 发布:音乐加快软件 编辑:程序博客网 时间:2024/05/16 01:41
实训要求:
代码:
MainClass类:
public class MainClass {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubComputerFrame frame;frame=new ComputerFrame();frame.setTitle("算数测试");frame.setBounds(300,400,650,180);}}
ComputerFrame类:
import java.awt.*;import java.awt.event.*;import javax.swing.*;public class ComputerFrame extends JFrame{JTextField textOne,textTwo,textResult;JButton getProblem,giveAnswer;JLabel operatorLabel,message;Teacher teacherZhang;ComputerFrame(){teacherZhang=new Teacher();teacherZhang.setMaxInteger(100);setLayout(new FlowLayout());textOne=new JTextField(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("获取题目");giveAnswer=new JButton("确认答案");add(textOne);add(operatorLabel);add(textTwo);add(new JLabel("="));add(textResult);add(giveAnswer);add(message);add(getProblem);textResult.requestFocus();textOne.setEditable(false);textTwo.setEditable(false);getProblem.setActionCommand("getProblem");textResult.setActionCommand("answer");giveAnswer.setActionCommand("answer");teacherZhang.setJTextField(textOne,textTwo,textResult);teacherZhang.setJLabel(operatorLabel,message);getProblem.addActionListener(teacherZhang);giveAnswer.addActionListener(teacherZhang);textResult.addActionListener(teacherZhang);setVisible(true);validate();setDefaultCloseOperation(DISPOSE_ON_CLOSE);}}
Teacher类:
import java.util.Random;import java.awt.event.*;import javax.swing.*;public 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;numberTwo=random.nextInt(maxInteger)+1;double d=Math.random();if(d>=0.5)operator="+";else operator="-";textOne.setText(""+numberOne);textTwo.setText(""+numberTwo);operatorLabel.setText(operator);message.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("你回答正确");elsemessage.setText("你回答错误");}else if(operator.equals("-")){if(result==numberOne-numberTwo)message.setText("你回答正确");elsemessage.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];}}
运行结果:
学习了监视器的使用方法。
阅读全文
0 0
- Java实训——创建一个窗体程序,实现简单的数学加、减法测试。
- 一个数学学习工具(10之内的简单减法)
- Java实训——编写一个窗体程序显示日历。
- 一个很简单的测试体重的java—applet小程序
- C#做一个简单的窗体程序
- 一个Java实现的简单的多个客户端聊天程序(未测试)
- 一个简单的c++加解密程序
- 一个简单的window窗体的实现
- 9.7数学与概率(二)——实现整数的乘法、减法和除法运算,只允许使用加号
- 最简单的一个Java窗体示例!
- 【Java】使用JFrame监听事件创建一个复制文本功能的窗体程序与按钮快捷键
- 实现一个简单的数学计算题
- 用Java实现的简单人品测试程序
- 初学JAVA一个星期加android studio一天弄了个简单的幼儿加法程序
- java简单实现一个小型的打字测试软件
- 一个简单的Web UI自动化测试框架Java实现
- java创建一个基本窗体
- Java实现的AES加解密程序
- lucene第一天
- Redis之 字符串(String)
- Python变量、自定义函数
- node和npm版本更新
- VUE详细搭建过程(转)
- Java实训——创建一个窗体程序,实现简单的数学加、减法测试。
- NW温故而知新
- C++的类域、友元以及运算符重载
- 移动web页面,input获取焦点弹出系统虚拟键盘时,挡住input的解决方案
- jQUery表单删除
- 手把手教你下载微信公众号里的视频
- c++中友元函数
- Ubuntu 12.04 G++ Hello World 配置
- 在vue中引入jquery