设计图形界面应用程序
要求:
设计图形界面使用随机数函数产生100以内的加法和20以内的乘法算式,加法和乘法通过界面上的单选框按钮组决定。
算式的两个因数是由随即函数产生的,运算符由单选框决定。得到得数以后,点击判断按钮就会弹出对话框说明答案正确性。点击出题按钮可以根据单选框按钮组的信息重新出题。
设计图形界面应用程序
要求:
设计图形界面使用随机数函数产生100以内的加法和20以内的乘法算式,加法和乘法通过界面上的单选框按钮组决定。
算式的两个因数是由随即函数产生的,运算符由单选框决定。得到得数以后,点击判断按钮就会弹出对话框说明答案正确性。点击出题按钮可以根据单选框按钮组的信息重新出题。
import java.awt.Button;
import java.awt.Checkbox;
import java.awt.CheckboxGroup;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.Label;
import java.util.Random;
import javax.swing.JOptionPane;
public class ChuTi extends Frame implements ActionListener{
CheckboxGroup cbg = new CheckboxGroup();
Label l1 = new Label("数一");
Label l2 = new Label("数二");
Checkbox cb1 = new Checkbox("*",cbg,true);
Checkbox cb2 = new Checkbox("+",cbg,false);
TextField tf = new TextField(5);
Button b = new Button("判断");
Button b1 = new Button("出题");
Random rd = new Random();
boolean flag = false;
public static void main(String[] args) {
// TODO Auto-generated method stub
ChuTi ct = new ChuTi();
}
public ChuTi(){
this.setBounds(400, 300, 200, 100);
this.addWindowListener(new WindowAdapter(){
@Override
public void windowClosing(WindowEvent arg0) {
// TODO Auto-generated method stub
//super.windowClosing(arg0);
System.exit(0);
}
});
this.setTitle("出题器");
this.setLayout(new FlowLayout());
this.add(l1);
this.add(cb1);
this.add(cb2);
this.add(l2);
this.add(tf);
this.add(b);
this.add(b1);
b.addActionListener(this);
b1.addActionListener(this);
this.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(e.getActionCommand().equals("出题")){
if(cb1.getState()){
//乘法运算
l1.setText(String.valueOf(rd.nextInt(20)));
l2.setText(String.valueOf(rd.nextInt(20)));
}else{
//加法运算
l1.setText(String.valueOf(rd.nextInt(100)));
l2.setText(String.valueOf(rd.nextInt(100)));
}
}else if(e.getActionCommand().equals("判断")){
if(cb1.getState()){
if(Integer.parseInt(tf.getText())==Integer.parseInt(l1.getText())*Integer.parseInt(l2.getText())){
//弹出消息框
JOptionPane.showMessageDialog(null, "正确");
}else{
//弹出消息框
JOptionPane.showMessageDialog(null, "错");
}
}else{
if(Integer.parseInt(tf.getText())==Integer.parseInt(l1.getText())+Integer.parseInt(l2.getText())){
//弹出消息框
JOptionPane.showMessageDialog(null, "正确");
}else{
//弹出消息框
JOptionPane.showMessageDialog(null, "错");
}
}
}
}
}