📄 selectsubjectframe.java
字号:
package exam.gui;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import exam.dao.SubjectFromCfg;
import exam.model.Student;
/**
* 选择科目界面
*
* @author 刘东
*
*/
public class SelectSubjectFrame implements ActionListener {
private JFrame frame;
private JLabel welcomeL, selectL;
private JButton start, quit;
private JComboBox select;
private JPanel pc, ps;
private String[] items;
private Student student;
public SelectSubjectFrame(Student student) {
this.student = student;
frame = new JFrame("选择考试科目");
items = new SubjectFromCfg().getItems();
welcomeL = new JLabel(" " + student.getUserName()
+ ",欢迎进入大内考试系统");
selectL = new JLabel("请选择考试科目:");
select = new JComboBox(items);
start = new JButton("开始考试");
quit = new JButton("退出");
pc = new JPanel();
ps = new JPanel();
init();
}
private void init() {
pc.add(selectL);
pc.add(select);
ps.add(start);
start.addActionListener(this);
ps.add(quit);
quit.addActionListener(this);
frame.add(welcomeL, BorderLayout.NORTH);
frame.add(pc, BorderLayout.CENTER);
frame.add(ps, BorderLayout.SOUTH);
frame.setSize(240, 180);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
frame.setResizable(false);
setThisLocation();
}
public void actionPerformed(ActionEvent arg0) {
JButton b = (JButton) arg0.getSource();
if (b.getText().equals("开始考试")) {
String subject = (String) select.getSelectedItem();
if (!new File(new SubjectFromCfg().getFileName(subject)).exists()) {
JOptionPane.showMessageDialog(frame, "该科目暂不提供考试!", "操作提示",
JOptionPane.WARNING_MESSAGE);
} else {
frame.dispose();
new ExamMainFrame(student, subject);
}
}
if (b.getText().equals("退出")) {
frame.dispose();
}
}
private void setThisLocation() {
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Dimension frameSize = frame.getSize();
if (frameSize.height > screenSize.height) {
frameSize.height = screenSize.height;
}
if (frameSize.width > screenSize.width) {
frameSize.width = screenSize.width;
}
frame.setLocation((screenSize.width - frameSize.width) / 2,
(screenSize.height - frameSize.height) / 2);
frame.setVisible(true);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -