用户窗口采用FlowLayout不拘管理,其中有三个标签,一个文本框和两个按钮。初始,标签lblquestion信息为:“题目显示在此处”,标签lblmsg中信息为“判断结果显示在此处”,标签lbl中信息为“=”;文本框对象名为txtanswer,初始信息为空;按钮btnNewQue上信息为“出题”,按钮btnJudege上信息为判断。界面如图所示。
点击"出题"按钮,将lblmsg及txtanswer中原有信息清空,同时产生两个范围在[1,10]内的随机整数,将加法题显示在标签lblquestion上,格式如“3+5”;如下图:
点击“判断”按钮,从文本框中取出用户输入信息,与正确值进行判断,结果显示在lblmsg中,正确,显示“答对了”,否则显示“答错了,正确答案是。。“,如下图所示:
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random;
public class Frame extends JFrame implements ActionListener {
JLabel lblquestion;
JLabel lblmsg;
JLabel lbl;
JLabel label;
JButton btnNewQue;
JButton btnJudege;
JTextField txtanswer;
int a;
int b;
int sum;
String SUM;
public Frame(){
super("学号+班级");
setBounds(600,300,400,200);
setLayout(new FlowLayout());
setResizable(false);
setDefaultCloseOperation(3);
setVisible(true);
}
public void init(){
lbl=new JLabel("=");
lblmsg=new JLabel("判断结果在此显示");
lblquestion=new JLabel("题目显示在此处");
label=new JLabel(" ");
txtanswer=new JTextField(25);
btnJudege=new JButton("判断");
btnNewQue=new JButton("出题");
this.add(lblquestion);
this.add(lbl);
this.add(txtanswer);
this.add(lblmsg);
this.add(label);
this.add(btnNewQue);
btnNewQue.addActionListener(this);
this.add(btnJudege);
btnJudege.addActionListener(this);
this.setVisible(true);
}
public void setquestion(){
Random r=new Random();
a=r.nextInt(10)+1;
b=r.nextInt(10)+1;
sum=a+b;
SUM=""+sum;
String str=a+"+"+b;
lblquestion.setText(str);
this.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
if(e.getSource()==btnNewQue){
this.setquestion();
lblmsg.setText(" ");
}else if(e.getSource()==btnJudege){
if(txtanswer.getText().equals(SUM)){
lblmsg.setText("恭喜你!回答正确!");
}else {
lblmsg.setText("回答错误!正确答案为"+SUM);
}
}
}
}
public class test {
public static void main(String[] args) {
Frame frame=new Frame();
frame.init();
}
}