📄 testfrom.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 + -