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