⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testfrom.java

📁 这个是学生考试系统,里面有完整的代码加数据库SQL server
💻 JAVA
字号:
package testsystem;

import java.awt.*;
import java.sql.*;
import javax.swing.*;
import java.awt.Rectangle;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.border.TitledBorder;
import javax.swing.BorderFactory;
import java.awt.Color;

public class TestFrom extends JFrame {
    private ImageIcon im1 = new ImageIcon("img\\cz.gif");  //连接相应的图片
    private ImageIcon im2 = new ImageIcon("img\\new.gif");
    static int count=1;         //声明静态变量用户存储值
    static int total=0;
    public TestFrom() {
        try {
            jbInit();
        } catch (Exception exception) {
            exception.printStackTrace();
        }
    }

    private void jbInit() throws Exception {
        this.getContentPane().setBackground(new Color(255, 197, 255));
        this.setResizable(false);
        setTitle("开始考试");
        bt.setFont(new java.awt.Font("黑体", Font.BOLD, 30));
        getContentPane().setLayout(null);
        jScrollPane1.setBounds(new Rectangle(69, 110, 482, 134));
        jLabel1.setText("考题:");
        jLabel1.setBounds(new Rectangle(24, 118, 45, 67));
        jt1.setEditable(false);
        jt1.setBounds(new Rectangle(70, 259, 479, 30));
        jt2.setEnabled(false);
        jt2.setBounds(new Rectangle(70, 305, 479, 28));
        jt3.setEnabled(false);
        jt3.setBounds(new Rectangle(70, 347, 478, 26));
        jt4.setEnabled(false);
        jt4.setBounds(new Rectangle(70, 386, 478, 25));
        jLabel2.setText("选项A:");
        jLabel2.setBounds(new Rectangle(18, 259, 44, 30));
        jLabel3.setText("选项B:");
        jLabel3.setBounds(new Rectangle(18, 305, 53, 26));
        jLabel4.setText("选项C:");
        jLabel4.setBounds(new Rectangle(18, 347, 57, 26));
        jLabel5.setText("选项D:");
        jLabel5.setBounds(new Rectangle(18, 388, 54, 24));
        jButton1.addActionListener(new TestFrom_jButton1_actionAdapter(this));
        ID.setEnabled(false);
        ID.setBorder(BorderFactory.createLineBorder(Color.black));
        ID.setText("1");
        jButton2.setBounds(new Rectangle(432, 424, 114, 30));
        jButton2.setEnabled(false);
        jButton2.setIcon(im2);
        jButton2.setText("答题");
        jButton2.addActionListener(new TestFrom_jButton2_actionAdapter(this));
        jLabel6.setToolTipText("");
        jLabel6.setHorizontalAlignment(SwingConstants.CENTER);
        jLabel6.setText("答案:");
        jLabel6.setBounds(new Rectangle(17, 426, 43, 25));
        jt5.setBounds(new Rectangle(70, 427, 79, 25));
        jLabel7.setForeground(Color.red);
        jLabel7.setHorizontalAlignment(SwingConstants.CENTER);
        jLabel7.setText("*答案请填A,B,C,D,如果为空算错!");
        jLabel7.setBounds(new Rectangle(165, 428, 230, 23));
        jLabel8.setBorder(null);
        jLabel8.setHorizontalAlignment(SwingConstants.CENTER);
        jLabel8.setText("题号:");
        jLabel8.setBounds(new Rectangle(13, 71, 60, 24));
        bt.setHorizontalAlignment(SwingConstants.CENTER);
        bt.setText("开   始   考   试");
        bt.setBounds(new Rectangle(130, 9, 339, 41));
        jButton1.setIcon(im1);
        jButton1.setBounds(new Rectangle(437, 67, 113, 29));
        jButton1.setText("查找试题");
        ID.setBounds(new Rectangle(69, 69, 90, 26));
        ja1.setEnabled(false);
        ja1.setLineWrap(true);
        this.getContentPane().add(jLabel8);
        this.getContentPane().add(bt);
        this.getContentPane().add(ID);
        this.getContentPane().add(jButton1);
        this.getContentPane().add(jScrollPane1);
        this.getContentPane().add(jLabel1);
        this.getContentPane().add(jt1);
        this.getContentPane().add(jt2);
        this.getContentPane().add(jt3);
        this.getContentPane().add(jt4);
        this.getContentPane().add(jLabel3);
        this.getContentPane().add(jLabel2);
        this.getContentPane().add(jLabel4);
        this.getContentPane().add(jLabel5);
        this.getContentPane().add(jt5);
        this.getContentPane().add(jLabel6);
        this.getContentPane().add(jLabel7);
        this.getContentPane().add(jButton2);
        jScrollPane1.getViewport().add(ja1);
    }

    public static void main(String[] args) {
        TestFrom testfrom = new TestFrom();
    }

    JScrollPane jScrollPane1 = new JScrollPane();
    JLabel jLabel1 = new JLabel();
    JTextField ID = new JTextField();
    JButton jButton1 = new JButton();
    JTextArea ja1 = new JTextArea();
    JTextField jt1 = new JTextField();
    JTextField jt2 = new JTextField();
    JTextField jt3 = new JTextField();
    JTextField jt4 = new JTextField();
    JLabel jLabel2 = new JLabel();
    JLabel jLabel3 = new JLabel();
    JLabel jLabel4 = new JLabel();
    JLabel jLabel5 = new JLabel();
    ButtonGroup buttonGroup1 = new ButtonGroup();
    JButton jButton2 = new JButton();
    JLabel jLabel6 = new JLabel();
    JTextField jt5 = new JTextField();
    JLabel jLabel7 = new JLabel();
    JLabel jLabel8 = new JLabel();
    JLabel bt = new JLabel();
    TitledBorder titledBorder1 = new TitledBorder("");
    TitledBorder titledBorder2 = new TitledBorder("");
//查询试题功能
    public void jButton1_actionPerformed(ActionEvent e) {
           String timu=ja1.getText().trim();        //声明变量获取用户输入的值
           String A=jt1.getText().trim();
           String B=jt2.getText().trim();
           String C=jt3.getText().trim();
           String D=jt4.getText().trim();
           int num=0;
           Connection con=null;
           Statement s1=null;
           ResultSet rs=null;
               try
               {
                   con=DBcon.link();
                   try
                   {
                       num=Integer.parseInt(ID.getText().trim());       //转换为Int型
                   }
                   catch(Exception ce)
                   {
                       JOptionPane.showMessageDialog(null,"题号必须为数字!","提示",JOptionPane.ERROR_MESSAGE);
                   }
                   s1=con.createStatement();
                   rs=s1.executeQuery("select * from Question where Num='"+num+"'"); //查询是否存在试题编号
                       if (rs.next()) {
                           String bh = rs.getString("Num");
                           ID.setText(bh);                                  //获取相应的列值
                           String tm = rs.getString("Question");
                           String A1 = rs.getString("OpA");
                           String B1 = rs.getString("OpB");
                           String C1 = rs.getString("OpC");
                           String D1 = rs.getString("OpD");
                           ja1.setText(tm);                              //把相应的值设置显示在文本框里
                           jt1.setText(A1);
                           jt2.setText(B1);
                           jt3.setText(C1);
                           jt4.setText(D1);
                           jButton1.setEnabled(false);               //设置查询按钮为灰化
            }
                       else
                       {
                           JOptionPane.showMessageDialog(null,"考试结束,您的总成绩是:→"+total+"分\n\n点击确定关闭程序!"); //提示结束并获得考试的总成绩
                           System.exit(0);

                       }
                  }
               catch(SQLException co)
               {
                   co.getMessage();
               }
               jButton2.setEnabled(true);       //设置答题按钮为激活状态

    }
//答题功能
    public void jButton2_actionPerformed(ActionEvent e) {
        int num1=0;
        String daan=jt5.getText().trim();
        Connection con2=null;
        Statement s2=null;
        ResultSet rs2=null;
        try
        {
            con2=DBcon.link();
            if(daan.length()!=0)
            {
                try
               {
                    num1=Integer.parseInt(ID.getText().trim());
               }
               catch(Exception ce)
               {
                   JOptionPane.showMessageDialog(null,"题号必须为数字!","提示",JOptionPane.ERROR_MESSAGE);
               }
               s2=con2.createStatement();
               rs2=s2.executeQuery("select * from Question where Num="+num1+" and Answer='"+daan+"'"); //查询试题编号和答案是否有内容
               if(rs2.next())
               {
                   total+=4;                 //设置成绩加4 (我设置的是25题每体4分,25*4=100)
                   JOptionPane.showMessageDialog(null,""+num1+"号试题回答正确!,您现在的总成绩是→"+total+"分"); //弹出正确提示 并显示获得分数
               }
               else
               {
                   JOptionPane.showMessageDialog(null,""+num1+"号试题回答错误!"); //弹出错误提示,不获取分数
               }
            }
            else
            {
                JOptionPane.showMessageDialog(null,"答案为空!此题算错!");  //不写答案算错!
            }

        }
        catch(SQLException co)
        {
            JOptionPane.showMessageDialog(null,co.getMessage());
        }
        count++;                          //题号每次增加1
        ID.setText(""+count);             //显示在编号文本框里
        ja1.setText("");
        jt1.setText("");
        jt2.setText("");
        jt3.setText("");
        jt4.setText("");
        jt5.setText("");
        jButton2.setEnabled(false);         //设置答题按钮为灰化
        jButton1.setEnabled(true);          //设置查询按钮为激活


    }

}


class TestFrom_jButton2_actionAdapter implements ActionListener {
    private TestFrom adaptee;
    TestFrom_jButton2_actionAdapter(TestFrom adaptee) {
        this.adaptee = adaptee;
    }

    public void actionPerformed(ActionEvent e) {
        adaptee.jButton2_actionPerformed(e);
    }
}


class TestFrom_jButton1_actionAdapter implements ActionListener {
    private TestFrom adaptee;
    TestFrom_jButton1_actionAdapter(TestFrom adaptee) {
        this.adaptee = adaptee;
    }

    public void actionPerformed(ActionEvent e) {
        adaptee.jButton1_actionPerformed(e);
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -