?? selectsubjectframe.java
字號:
package exam.gui;
/**
* 選擇科目界面
* @author teacher
*
*/
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;
import javax.swing.*;
import exam.dao.PaperDao;
import exam.model.Paper;
import exam.model.Question;
import exam.model.Student;
public class SelectSubjectFrame extends JFrame implements PaperDao{
private JLabel jlw;
private JLabel jls;
private JComboBox jbx;
private JButton jbs;
private JButton jbe;
private Student student;
private Socket s;
private PrintWriter pw;
private ObjectInputStream ois;
private String[] sbjs;
public SelectSubjectFrame(Student student,Socket s,PrintWriter pw) {
this.s = s;
this.pw = pw;
try {
pw = new PrintWriter(s.getOutputStream());
} catch (IOException e) {
e.printStackTrace();
}
this.student = student;
this.setTitle("選擇考試科目");
jlw = new JLabel(student.getName()+",歡迎進入考試系統");
jls = new JLabel("請選擇考試科目:");
jbx = new JComboBox();
sbjs = null;
getSubjects();
for(int i=0;i<sbjs.length;i++){
jbx.addItem(sbjs[i].split("=")[0]);
}
jbs = new JButton("開始考試");
jbe = new JButton("退出");
init();
addEventHandle();
}
public void init(){
JPanel jp1 = new JPanel();
jp1.add(jlw);
JPanel jp2 = new JPanel();
jp2.add(jls);
jp2.add(jbx);
JPanel jp3 = new JPanel();
jp3.add(jbs);
jp3.add(jbe);
this.setLayout(new BorderLayout());
this.add(jp1,BorderLayout.NORTH);
this.add(jp2,BorderLayout.CENTER);
this.add(jp3,BorderLayout.SOUTH);
}
private void getSubjects(){
try {
pw.println("%GET_SUBJECT%");
pw.flush();
ois = new ObjectInputStream(s.getInputStream());
sbjs = ((String)ois.readObject()).split(":");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void addEventHandle(){
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jbe.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
jbs.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
new ExamMainFrame(student,getPaper(sbjs[jbx.getSelectedIndex()]),s,pw).showMe();
System.out.println(sbjs[0]);
SelectSubjectFrame.this.setVisible(false);
}
});
}
public Paper getPaper(String subject) {
Paper paper = null;
try {
pw.println("%GET_PAPER%:" + subject);
pw.flush();
ois = new ObjectInputStream(s.getInputStream());
paper = (Paper)ois.readObject();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// finally{
// try {
// ois.close();
// } catch (IOException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
// }
return paper;
}
public void showMe(){
this.setSize(240,180);
this.setLocation(this.getToolkit().getScreenSize().width/2-this.getWidth()/2,this.getToolkit().getScreenSize().height/2-this.getHeight()/2);
this.setResizable(false);
this.setVisible(true);
}
// public static void main(String[] args) {
// String [] subject = {"corejava","c++"};
// Student student = new Student(123,"zhansan");
// try {
// Socket s = new Socket("127.0.0.1",8888);
// new SelectSubjectFrame(student,s,new PrintWriter(s.getOutputStream())).showMe();
// } catch (UnknownHostException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// } catch (IOException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
// }
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -