package com.project2.test;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.*;
import javax.swing.*;
import javax.swing.plaf.SliderUI;
public class Matchs {
//JPanel 面板 JLable 标签
JFrame jf=new JFrame();
JPanel jp=new JPanel();//创建面板
JLabel jl=new JLabel(); //显示题目
JLabel jl2=new JLabel(); //显示结果正确与否
JButton jb=new JButton("提交");//创建提交按钮
JButton jb2=new JButton("next");//创建next按钮
JTextField jtf=new JTextField();//输入答案
private int num1,num2;//存放两个随机数
private int sum=0, score=0,count=0;
private int judge;//用于存放判断加或者减的数
public Matchs(){
//界面初始化
jf.setSize(500,300);//尺寸大小
jf.add(jp);
jp.setLayout(null);
jp.add(jl);
jl.setBounds(18,18,100,10); //调整位置,大小
jp.add(jtf);
jtf.setBounds(120,10,40,20);//给输入答案设置大小
jp.add(jb);
jb.setBounds(10,50,60,40);//给提交按钮设置大小
jp.add(jb2);
jb2.setBounds(80,50,60,40);//给next按钮设置大小
jp.add(jl2);
jl2.setBounds(60,100,200,50);//给显示答案窗口设置大小
jf.setVisible(true);//数据模型已经构造好了,允许JAM执行
jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);//设置用户在此窗体上发起关闭
}
public void produce(){
Random rand=new Random();//产生随机数的方法
num1=(int)(Math.random()*100);
num2=(int)(Math.random()*100);//产生两个随机数
sum=0;//存放两个数之和
judge=(int)(Math.random()*10)%2;//给judge产生随机数
if (judge==0) //如果judge为0,进行加法运算
{
jl.setText("第"+(count)+"题:"+num1+"+"+num2+"=");//设置组件上的文字内容
count++;
sum = num1+num2;
}
else//如果judge为0,进行减法运算
{
count++;
jl.setText("第"+(count)+"题:"+num1+"-"+num2+"=");
sum =num1-num2;
}
//swing中在进行一个操作的时候触发某项功能,给按钮增加监听事件,对特定的内容进行操作
jb.addActionListener(new ActionListener(){
//用于接收操作时间的倾听器窗口,发生操作时,调用对象的actionPerformed方法
public void actionPerformed(ActionEvent e){
int s=Integer.parseInt(jtf.getText());
//与正确答案作对比
if(s==sum)
{
jl2.setText("您的回答正确!");
score+=10;
}
else
{
jl2.setText("很遗憾,您的回答错误!"+"正确答案:"+sum);
}
}
}
);
jb2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e){
if(count==10)
{
JOptionPane j=new JOptionPane();
j.showMessageDialog(jf,"最终成绩为"+score);//弹出对话框的消息
jf.setVisible(false);//隐藏一个组件
}
Random rand=new Random();
num1=(int)(Math.random()*100);
num2=(int)(Math.random()*100);
sum=0;
judge=(int)(Math.random()*10)%2;
if(judge==0){
count++;
jl.setText("第"+(count)+"题:"+num1+"+"+num2+"=");
sum=num1+num2;
}
else
{
count++;
jl.setText("第"+(count)+"题:"+num1+"-"+num2+"=");
sum=num1-num2;
}
}
}
);
}
public static void main(String args[]) {
Matchs subject=new Matchs();
subject.produce();
}
}