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

📄 studentmain.java

📁 自己用java编写的基于B/S的在线考试系统
💻 JAVA
字号:
import java.awt.Color;
import java.awt.HeadlessException;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.Socket;

import javax.swing.JButton;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.Timer;
public class StudentMain extends JFrame implements ActionListener {
	private JTextField jTextField1;

	private JLabel jLabel1;

	private Timer jTimer;

	private long time = 960000l;

	private JTextField jTextField2;

	private JLabel jLabel2;

	private JButton jButton2;

	private JButton jButton4;

	private JLabel jLabel3;

	private JScrollPane jScrollPane1;

	private JTextArea jTextArea1;

	private JButton jButton3;

	private JButton jButton1;

	private Socket s = null;

	private DataInputStream in = null;

	private DataOutputStream out = null;

	private int id;

	public void loadMessage(Socket s, int id) {
		this.s = s;
		this.id = id;
		try {
			in = new DataInputStream(s.getInputStream());
			out = new DataOutputStream(s.getOutputStream());
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

	public StudentMain() throws HeadlessException {
		this.setTitle("网络考试--客户端");
		this.setResizable(false);
		this.setSize(20, 20);
		this.setSize(568, 376);
		this.setLocation(300, 180);
		this.setVisible(true);
		getContentPane().setLayout(null);
		{
			jTextField1 = new JTextField();
			jTextField1.setEditable(false);
			// jTextField1.setBackground(Color.BLACK);
			jTextField1.setForeground(Color.RED);
			getContentPane().add(jTextField1);
			jTextField1.setBounds(112, 12, 296, 22);
		}
		{
			jLabel1 = new JLabel();
			getContentPane().add(jLabel1);
			jLabel1.setText("\u8003\u8bd5\u5269\u4f59\u65f6\u95f4");
			jLabel1.setBounds(22, 16, 90, 15);
		}
		{
			jTextField2 = new JTextField();
			jTextField2.setEnabled(false);
			getContentPane().add(jTextField2);
			jTextField2.setBounds(48, 319, 237, 22);
		}
		{
			jLabel2 = new JLabel();
			getContentPane().add(jLabel2);
			jLabel2.setText("\u7b54\u6848");
			jLabel2.setBounds(10, 322, 42, 15);
		}
		{
			jButton1 = new JButton();
			jButton1.setEnabled(false);
			getContentPane().add(jButton1);
			jButton1.setText("\u4ea4\u5377");
			jButton1.setBounds(319, 319, 84, 22);
			jButton1.addActionListener(this);
		}
		{
			jButton2 = new JButton();
			getContentPane().add(jButton2);
			jButton2.setText("\u83b7\u53d6\u8bd5\u5377");
			jButton2.setBounds(437, 51, 97, 28);
			jButton2.addActionListener(this);
		}
		{
			jButton3 = new JButton();
			jButton3.setEnabled(false);
			getContentPane().add(jButton3);
			jButton3.setText("\u67e5\u770b\u5f97\u5206");
			jButton3.setBounds(437, 109, 97, 28);
			jButton3.addActionListener(this);
		}
		{
			jScrollPane1 = new JScrollPane();
			getContentPane().add(jScrollPane1);
			jScrollPane1.setBounds(12, 51, 396, 258);
			{
				jTextArea1 = new JTextArea();
				jTextArea1.setEditable(false);
				jScrollPane1.setViewportView(jTextArea1);
				jTextArea1.setBounds(12, 51, 396, 258);
			}
		}
		{
			jLabel3 = new JLabel();
			getContentPane().add(jLabel3);
			jLabel3.setBounds(438, 164, 96, 32);
		}
		{
			jButton4 = new JButton();
			getContentPane().add(jButton4);
			jButton4.setText("\u9000\u51fa");
			jButton4.setBounds(438, 263, 87, 24);
			jButton4.addActionListener(this);
		}
		jTimer = new Timer(1000, this);
		this.addWindowListener(new WindowAdapter() {

			public void windowClosing(WindowEvent e) {
				System.exit(0);
			}
		});
		validate();
	}

	public void actionPerformed(ActionEvent e) {
		if (e.getSource() == jTimer) {
			if (time < 0) {
				jTimer.stop();
				this.jTextField2.setEnabled(false);
				this.jButton1.setEnabled(false);
				this.jButton3.setEnabled(true);
				this.jTextField1.setText("考试时间结束");
				sendAnswer();
				JOptionPane.showMessageDialog(this, "考试时间结束");
			} else {
				time = time - 1000;
				long leftTime = time / 1000;
				long leftHour = leftTime / 3600;
				long leftMinute = (leftTime - leftHour * 3600) / 60;
				long leftSecond = leftTime % 60;
				this.jTextField1.setText("     剩余时间:" + leftHour + "小时 "
						+ leftMinute + "分 " + leftSecond + " 秒");
			}
		}
		if (e.getSource() == jButton2) {
			try {
				out.writeUTF("读取试题");
				String str = in.readUTF();
				this.jTextArea1.setText(str);
				jButton2.setEnabled(false);
				this.jTextField2.setEnabled(true);
				this.jButton1.setEnabled(true);
				jTimer.start();
			} catch (IOException e1) {
				e1.printStackTrace();
			}
		}
		if (e.getSource() == jButton1) {
			jTimer.stop();
			sendAnswer();
//			String answerStr = this.jTextField2.getText().trim();
//			try {
//				out.writeUTF("提交答案:"+id+"#" + answerStr);
//				String score = in.readUTF();
//				this.jLabel3.setVisible(false);
//				this.jLabel3.setText("你的得分:" + score);
//			} catch (IOException e1) {
//				e1.printStackTrace();
//			}
//			jTextField2.setEnabled(false);
//			jButton1.setEnabled(false);
//			jButton3.setEnabled(true);
		}
		if (e.getSource() == jButton3) {
			this.jLabel3.setVisible(true);
			jButton3.setEnabled(false);
		}
		if (e.getSource() == jButton4) {
			System.exit(0);
		}
	}
	public void sendAnswer(){
		String answerStr = this.jTextField2.getText().trim();
		try {
			out.writeUTF("提交答案:"+id+"#" + answerStr);
			String score = in.readUTF();
			this.jLabel3.setVisible(false);
			this.jLabel3.setText("你的得分:" + score);
		} catch (IOException e1) {
			e1.printStackTrace();
		}
		jTextField2.setEnabled(false);
		jButton1.setEnabled(false);
		jButton3.setEnabled(true);
	}

}

⌨️ 快捷键说明

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