帮我设计一个驾校答题界面 并以java代码输出一个简单的例子
设计思路:
-
驾校答题界面应该包含题目和选项,以及提交按钮。
-
为了方便起见,我们可以将题目和选项都放在一个JPanel中,然后将多个JPanel放在一个JFrame中。
-
对于选项,我们可以使用JRadioButton或JCheckBox来实现单选或多选。
-
提交按钮可以使用JButton来实现,点击后可以通过判断选项是否正确来给出提示。
Java代码:
import java.awt.*;
import javax.swing.*;
public class DrivingTest {
public static void main(String[] args) {
JFrame frame = new JFrame("驾校答题");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400, 300);
frame.setLayout(new GridLayout(5, 1));
JPanel panel1 = new JPanel();
JLabel label1 = new JLabel("1. 下列哪个交通标志表示前方有人行横道?");
panel1.add(label1);
ButtonGroup group1 = new ButtonGroup();
JRadioButton radioButton1_1 = new JRadioButton("A. 标志一");
JRadioButton radioButton1_2 = new JRadioButton("B. 标志二");
JRadioButton radioButton1_3 = new JRadioButton("C. 标志三");
group1.add(radioButton1_1);
group1.add(radioButton1_2);
group1.add(radioButton1_3);
panel1.add(radioButton1_1);
panel1.add(radioButton1_2);
panel1.add(radioButton1_3);
frame.add(panel1);
JPanel panel2 = new JPanel();
JLabel label2 = new JLabel("2. 下列哪个交通标志表示前方有人行横道?");
panel2.add(label2);
ButtonGroup group2 = new ButtonGroup();
JRadioButton radioButton2_1 = new JRadioButton("A. 标志一");
JRadioButton radioButton2_2 = new JRadioButton("B. 标志二");
JRadioButton radioButton2_3 = new JRadioButton("C. 标志三");
group2.add(radioButton2_1);
group2.add(radioButton2_2);
group2.add(radioButton2_3);
panel2.add(radioButton2_1);
panel2.add(radioButton2_2);
panel2.add(radioButton2_3);
frame.add(panel2);
JPanel panel3 = new JPanel();
JLabel label3 = new JLabel("3. 下列哪个交通标志表示前方有人行横道?");
panel3.add(label3);
ButtonGroup group3 = new ButtonGroup();
JRadioButton radioButton3_1 = new JRadioButton("A. 标志一");
JRadioButton radioButton3_2 = new JRadioButton("B. 标志二");
JRadioButton radioButton3_3 = new JRadioButton("C. 标志三");
group3.add(radioButton3_1);
group3.add(radioButton3_2);
group3.add(radioButton3_3);
panel3.add(radioButton3_1);
panel3.add(radioButton3_2);
panel3.add(radioButton3_3);
frame.add(panel3);
JPanel panel4 = new JPanel();
JLabel label4 = new JLabel("4. 下列哪个交通标志表示前方有人行横道?");
panel4.add(label4);
ButtonGroup group4 = new ButtonGroup();
JRadioButton radioButton4_1 = new JRadioButton("A. 标志一");
JRadioButton radioButton4_2 = new JRadioButton("B. 标志二");
JRadioButton radioButton4_3 = new JRadioButton("C. 标志三");
group4.add(radioButton4_1);
group4.add(radioButton4_2);
group4.add(radioButton4_3);
panel4.add(radioButton4_1);
panel4.add(radioButton4_2);
panel4.add(radioButton4_3);
frame.add(panel4);
JPanel panel5 = new JPanel();
JButton button = new JButton("提交");
button.addActionListener(e -> {
int correctNum = 0;
if (radioButton1_2.isSelected()) {
correctNum++;
}
if (radioButton2_1.isSelected()) {
correctNum++;
}
if (radioButton3_3.isSelected()) {
correctNum++;
}
if (radioButton4_1.isSelected()) {
correctNum++;
}
JOptionPane.showMessageDialog(null, "您的得分是:" + correctNum, "提示", JOptionPane.INFORMATION_MESSAGE);
});
panel5.add(button);
frame.add(panel5);
frame.setVisible(true);
}
}
这个例子中,我们实现了四道题目,每道题目都有三个选项。提交按钮被点击后,程序会判断每道题目的选项是否正确,并给出得分提示。
原文地址: https://www.cveoy.top/t/topic/CkM 著作权归作者所有。请勿转载和采集!