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  LV7 2023年12月15日
Seaskye  LV14 2023年11月28日
2410068425  LV23 2023年11月27日
最代码官方  LV167 2023年11月26日
最近浏览更多
泓鼎168  LV19 4月30日
kenhomeliu  LV29 4月30日
getset  LV8 4月24日
pangzhihui  LV13 4月15日
zolscy  LV12 4月5日
zzz9985688  LV10 4月2日
小小可爱 3月17日
暂无贡献等级
a318888331  LV13 3月10日
wanglinddad  LV55 3月9日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友