import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;

public class EnterTitle extends JFrame implements ActionListener {
    private JLabel jLabel1, jLabel2, jLabel3, jLabel4;
    private JTextField jtf1, jtf2, jtf3, jtf4;
    private JComboBox jcb1, jcb2, jcb3, jcb4;
    private JTextArea jTextArea;
    private JScrollPane jScrollPane;
    private Container container;
    private JButton jb1, jb2;

    public EnterTitle() {
        container = getContentPane();
        container.setLayout(null);
        jScrollPane = new JScrollPane();
        jLabel1 = new JLabel("A:");
        jLabel2 = new JLabel("B:");
        jLabel3 = new JLabel("C:");
        jLabel4 = new JLabel("D:");
        jtf1 = new JTextField();
        jtf2 = new JTextField();
        jtf3 = new JTextField();
        jtf4 = new JTextField();
        jcb1 = new JComboBox();
        jcb2 = new JComboBox();
        jcb3 = new JComboBox();
        jcb4 = new JComboBox();
        jcb1.addActionListener(this);
        jcb2.addActionListener(this);
        jcb3.addActionListener(this);
        jcb4.addActionListener(this);
        jb1 = new JButton("录入");
        jb1.setBorder(BorderFactory.createRaisedBevelBorder());
        jb1.addActionListener(this);
        jb2 = new JButton("重置");
        jb2.setBorder(BorderFactory.createRaisedBevelBorder());
        jb2.addActionListener(this);
        jTextArea = new JTextArea();
        jTextArea.setText("请输入题目");
        jScrollPane.setViewportView(jTextArea);
    }

    public void launch() {
        jcb1.addItem("请选择分数");
        jcb1.addItem("1");
        jcb1.addItem("2");
        jcb1.addItem("3");
        jcb1.addItem("4");
        jcb1.addItem("5");
        jcb2.addItem("请选择分数");
        jcb2.addItem("1");
        jcb2.addItem("2");
        jcb2.addItem("3");
        jcb2.addItem("4");
        jcb2.addItem("5");
        jcb3.addItem("请选择分数");
        jcb3.addItem("1");
        jcb3.addItem("2");
        jcb3.addItem("3");
        jcb3.addItem("4");
        jcb3.addItem("5");
        jcb4.addItem("请选择分数");
        jcb4.addItem("1");
        jcb4.addItem("2");
        jcb4.addItem("3");
        jcb4.addItem("4");
        jcb4.addItem("5");
        jScrollPane.setBounds(20, 20, 345, 150);
        jLabel1.setBounds(20, 180, 30, 30);
        jtf1.setBounds(40, 180, 225, 30);
        jcb1.setBounds(275, 180, 90, 30);
        jLabel2.setBounds(20, 220, 30, 30);
        jtf2.setBounds(40, 220, 225, 30);
        jcb2.setBounds(275, 220, 90, 30);
        jLabel3.setBounds(20, 260, 30, 30);
        jtf3.setBounds(40, 260, 225, 30);
        jcb3.setBounds(275, 260, 90, 30);
        jLabel4.setBounds(20, 300, 30, 30);
        jtf4.setBounds(40, 300, 225, 30);
        jcb4.setBounds(275, 300, 90, 30);
        jb1.setBounds(20, 360, 130, 30);
        jb2.setBounds(235, 360, 130, 30);
        container.add(jLabel1);
        container.add(jLabel2);
        container.add(jLabel3);
        container.add(jLabel4);
        container.add(jtf1);
        container.add(jtf2);
        container.add(jtf3);
        container.add(jtf4);
        container.add(jb1);
        container.add(jb2);
        container.add(jcb1);
        container.add(jcb2);
        container.add(jcb3);
        container.add(jcb4);
        container.add(jScrollPane);
        setTitle("录入题目");
        setVisible(true);
        setSize(400, 450);
        setResizable(false);
        setLocationRelativeTo(getOwner());
    }

    @Override
    public void actionPerformed(ActionEvent e) {
        if (e.getActionCommand().equals("重置")) {
            reset();
            JOptionPane.showMessageDialog(null, "重置成功!");
        }
        if (e.getActionCommand().equals("录入")) {
            if (jTextArea.getText().isEmpty()) {
                JOptionPane.showMessageDialog(null, "问题不能为空!");
            } else if (jcb1.getSelectedItem().equals("请选择分数") || jcb2.getSelectedItem().equals("请选择分数")
                    || jcb3.getSelectedItem().equals("请选择分数") || jcb4.getSelectedItem().equals("请选择分数")) {
                JOptionPane.showMessageDialog(null, "请选择分数!");
            } else {
                try {
                    outPut();
                } catch (IOException ioException) {
                    ioException.printStackTrace();
                }
            }
        }
    }

    public void reset() {
        jTextArea.setText("");
        jtf1.setText("");
        jtf2.setText("");
        jtf3.setText("");
        jtf4.setText("");
    }

    public void outPut() throws IOException {
        File file = new File("./lib/QuestionBank.txt");
        FileOutputStream fileOutputStream = null;
        if (!file.exists()) {
            file.createNewFile();//如果文件不存在,就创建该文件
            fileOutputStream = new FileOutputStream(file);//首次写入获取
        } else {
            //如果文件已存在,那么就在文件末尾追加写入
            fileOutputStream = new FileOutputStream(file, true);//这里构造方法多了一个参数true,表示在文件末尾追加写入
        }
        OutputStreamWriter writer = new OutputStreamWriter(fileOutputStream, "UTF-8");//指定以UTF-8格式写入文件
        String line = jTextArea.getText() + " A " + jtf1.getText() + " " + jcb1.getSelectedItem() +
                " B " + jtf2.getText() + " " + jcb2.getSelectedItem() + " C " + jtf3.getText() +
                " " + jcb3.getSelectedItem() + " D " + jtf4.getText() + " " + jcb4.getSelectedItem() + "\n";
        writer.write(line);
        writer.close();
    }
}
最近下载更多
wanglinddad  LV55 3月9日
fenghuijun  LV26 1月13日
计算机暴龙战士  LV19 1月5日
305865088  LV8 2023年12月15日
Seaskye  LV14 2023年11月28日
2410068425  LV23 2023年11月27日
最代码官方  LV168 2023年11月26日
最近浏览更多
Peny_ZH  LV5 9月20日
thsgli  LV8 8月21日
hmf1989 7月25日
暂无贡献等级
zzs269285304  LV7 7月17日
17558420274  LV16 6月5日
hfffff  LV1 6月3日
wnnmmb  LV2 5月16日
sink122406  LV12 5月16日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友