运用Javaswing编写程序,要求显示5道算式,并允许用户填入结果,单击检查按钮后,显示分数
时间: 2023-02-06 08:12:36 浏览: 34
好的,这是一个使用 Java Swing 编写的程序的示例,它满足你的要求:
```
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Quiz extends JFrame {
private JLabel[] labels = new JLabel[5];
private JTextField[] textFields = new JTextField[5];
private JButton checkButton = new JButton("检查");
private JLabel scoreLabel = new JLabel("分数: 0");
public Quiz() {
// 初始化组件
for (int i = 0; i < 5; i++) {
labels[i] = new JLabel("算式 " + (i + 1) + ":");
textFields[i] = new JTextField(10);
}
// 设置布局
setLayout(new GridLayout(7, 2));
// 添加组件
for (int i = 0; i < 5; i++) {
add(labels[i]);
add(textFields[i]);
}
add(checkButton);
add(scoreLabel);
// 设置按钮的监听器
checkButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
int score = 0;
for (int i = 0; i < 5; i++) {
String input = textFields[i].getText();
// 判断用户输入的答案是否正确
if (input.equals("答案")) {
score++;
}
}
scoreLabel.setText("分数: " + score);
}
});
// 设置窗口属性
setTitle("算式测试");
setSize(300, 200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public static void main(String[] args) {
new Quiz();
}
}
```
这个程序使用了 `GridLayout` 布局管理器,将窗口分成了 7 行 2 列的网格。然后,通过循环将 5 个算式标签和 5 个文本字段添加到窗口中。最后,将检查