Java实训——创建一个窗体程序,实现简单的数学加、减法测试。
2017-11-11 11:04
1001 查看
实训要求:
代码:
MainClass类:
ComputerFrame类:
Teacher类:
运行结果:
小结:
学习了监视器的使用方法。
代码:
MainClass类:
public class MainClass { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub ComputerFrame 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("你回答正确"); 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]; } }
运行结果:
小结:
学习了监视器的使用方法。
相关文章推荐
- 一个Java实现的简单的多个客户端聊天程序(未测试)
- 创建一个如下的窗体,并在窗体上放置colorDialog控件。实现功能:1)程序运行时,单击打开颜色对话框按钮,可选择颜色,并以所选颜色作为窗体背景色
- java中集合的运用,实现一个简单的购物程序
- 一个简单的小测试程序实现(已做优化)
- Java实现一个小说采集程序的简单实例
- C# 实现简单打印(三)-认识打印控件,创建一个带打印功能的程序
- 一个java实现的简单文件下载程序
- 一个简单的Web服务器程序(java实现)
- Java_GUI创建单机版QQ聊天小程序并实现简单的小功能(附所有源码)
- 利用java实现一个简单的远程监控程序
- 在一个程序中需要用到全局变量(在多个class之间共享数据),请问如何定义具有这种功能的变量?或者是否有其他的方法解决多个class之间的数据共享(尽量简单实现)。 首先应该明确 Java中没有全局变
- 用java实现的一个简单的定时报警程序
- Java 组件及事件处理实训 实训2:编写一个窗体程序,用于计算一元二次方程
- 用java编写一个简单的字符串加密解密程序,将字符串分成若干行,实现字符串以一列一列读取,并还原之前输入的字符串。这里实现4行输出。
- 用Java实现的简单人品测试程序
- 利用java实现一个简单的远程监控程序
- 用Java实现一个简单的服务器与客户端程序
- 用java实现的一个简单web服务器程序
- 【Java】Swing+IO流实现一个简单的文件加密程序(较完整版)
- 使用Java在本地创建一个服务器 ,通过浏览器对其进行访问的一个简单测试