📄 guiv2.java
字号:
package olts;
import java.awt.*;
import java.awt.event.*;
import java.util.Iterator;
import java.util.List;
import javax.swing.*;
import javax.swing.ButtonGroup;
import javax.swing.JLabel;
import javax.swing.JRadioButton;
/**
*
*
* @author zealear.sysu@yahoo.com.cn
* @version 2.0
*
*/
public class GUIv2 extends JFrame {
private ButtonGroup buttonGroup_1 = new ButtonGroup();
private JTextField textFieldSolv;
private ButtonGroup buttonGroup = new ButtonGroup();
private JTextArea textArea;
public String answer;
public static String queType = "BlankFill";
public Item aItem;
public boolean isHandin = false;
public JMenu menu,menu_1,menu_2;
public JLabel label,label_1,label_2;
public GUIv2() {
super();
setTitle("联机测试系统v2.0");
setSize(new Dimension(650, 390));
getContentPane().setLayout(new BorderLayout());
//选用布局BorderLayout
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//退出面板时退出程序
final LibrManager lm = new LibrManager();
final JScrollPane scrollPane = new JScrollPane();
getContentPane().add(scrollPane, BorderLayout.CENTER);
//将可滚动的面板放在BorderLayout的CENTER
textArea = new JTextArea();
textArea.setColumns(300);
scrollPane.setViewportView(textArea);
//显示题目的文本框加入中心
final JPanel panel = new JPanel();
panel.setLayout(new GridLayout(1, 0));
getContentPane().add(panel, BorderLayout.NORTH);
//BorderLayout的NORTH放置工具条
final JToolBar toolBar = new JToolBar();
panel.add(toolBar);
final JButton buttonQue = new JButton();
buttonQue.setText("抽取试题");
toolBar.add(buttonQue);
//buttonQue.setIcon(SwingResourceManager.getIcon(GUIv2.class, "题.JPG"));
buttonQue.setToolTipText("抽取试题");
buttonQue.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
System.out.println("抽取题目 : "+ queType);
isHandin = false; //每抽一道新题目时将isHandin置为false,标志还没有提交答案
aItem = lm.getItemRandom(queType);
textArea.append(aItem.toString());
}});
final JButton buttonAns = new JButton();
buttonAns.setText("提交答案");
//buttonAns.setIcon(SwingResourceManager.getIcon(GUIv2.class, "答.JPG"));
buttonAns.setToolTipText("提交答案");
toolBar.add(buttonAns);
buttonAns.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
System.out.println("your answer : " + answer);
if(!isHandin){
try{
if(aItem.isRight(answer)){
lm.score = lm.score + aItem.score;
}
isHandin = true; //提交答案后isHandin置为true,防止重复提交
}catch(Exception exp){
System.out.println("抛出异常 :"+ exp.getMessage());
JOptionPane.showMessageDialog(null, "您还没有填写答案", "注意", JOptionPane.ERROR_MESSAGE);
}
}
else{
JOptionPane.showMessageDialog(null, "您已经提交答案了", "警告", JOptionPane.ERROR_MESSAGE);
}
}});
final JButton buttonScor = new JButton();
buttonScor.setText("查询成绩");
buttonScor.setToolTipText("查询成绩");
//buttonScor.setIcon(SwingResourceManager.getIcon(GUIv2.class, "分.JPG"));
toolBar.add(buttonScor);
buttonScor.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent arg0) {
System.out.println("查询:当前成绩");
Object[] message = new Object[2];
message[0] = "当前成绩";
JTextField jtf = new JTextField();
jtf.setText(new Integer(lm.score).toString());
message[1] = jtf;
//弹出对话框显示当前成绩
int result = JOptionPane.showOptionDialog(null,message,"查询当前成绩",JOptionPane.DEFAULT_OPTION,JOptionPane.INFORMATION_MESSAGE,null,null,null);
}});
final JButton buttonHlp = new JButton();
toolBar.add(buttonHlp);
buttonHlp.setText("帮助文档");
buttonHlp.setToolTipText("帮助文档");
//buttonHlp.setIcon(SwingResourceManager.getIcon(GUIv2.class, "助.JPG"));
buttonHlp.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent arg0) {
System.out.println("帮助信息 ");
Object[] message = new Object[4];
message[0] = "联机测试系统v2.0";
message[1] = "帮助文档 : help.doc";
message[2] = "MADE BY 郑 义 ";
message[3] = "zealear.sysu@yahoo.com.cn";
int result = JOptionPane.showOptionDialog(null,message,"删除",JOptionPane.DEFAULT_OPTION,JOptionPane.INFORMATION_MESSAGE,null,null,null);
}});
final JLabel label_3 = new JLabel();
toolBar.add(label_3);
final JLabel label_4 = new JLabel();
toolBar.add(label_4);
final JRadioButton radioButton_C = new JRadioButton();
buttonGroup_1.add(radioButton_C);
radioButton_C.setText("中文简体");
radioButton_C.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent arg0) {
setTitle("联机测试系统v2.0");
buttonQue.setText("抽取试题");
buttonAns.setToolTipText("提交答案");
buttonScor.setText("查询成绩");
buttonHlp.setText("帮助文档");
menu.setText("题型");
menu_1.setText("查询");
menu_2.setText("编辑");
label.setText("选择题");
label_1.setText("判断题");
label_2.setText("填空题");
}
});
toolBar.add(radioButton_C);
final JRadioButton radioButton_J = new JRadioButton();
buttonGroup_1.add(radioButton_J);
radioButton_J.setText("日本語");
radioButton_J.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent arg0) {
setTitle("オンライン テスト システム");
buttonQue.setText(" 質問 ");
buttonAns.setText(" 答え ");
buttonScor.setText(" スコア ");
buttonHlp.setText(" 助け ");
menu.setText("質問のタイプ");
menu_1.setText("査問する");
menu_2.setText("編集する");
label.setText("選択する");
label_1.setText("正誤を判断する");
label_2.setText("空白を埋める");
}
});
toolBar.add(radioButton_J);
final JMenuBar menuBar = new JMenuBar();
setJMenuBar(menuBar);
//题型菜单
menu = new JMenu();
menu.setText("题型");
menuBar.add(menu);
final JMenuItem menuItemCho = new JMenuItem();
menuItemCho.setText("选择题");
menu.add(menuItemCho);
menuItemCho.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent arg0) {
System.out.println("选择题");
queType = "SingleChoice";
}});
final JMenuItem menuItemTOF = new JMenuItem();
menuItemTOF.setText("判断题");
menu.add(menuItemTOF);
menuItemTOF.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent arg0) {
System.out.println("判断题");
queType = "TrueFalse";
}
});
final JMenuItem menuItemFill = new JMenuItem();
menuItemFill.setText("填空题");
menu.add(menuItemFill);
menuItemFill.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent arg0) {
System.out.println("填空题");
queType = "BlankFill";
}
});
//查询菜单
menu_1 = new JMenu();
menu_1.setText("查询");
menuBar.add(menu_1);
final JMenuItem MenuItemID = new JMenuItem();
MenuItemID.setText("ID");
menu_1.add(MenuItemID);
MenuItemID.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent arg0) {
System.out.println("查询:按照ID FROM " + queType);
Object[] message = new Object[2];
message[0] = "ID";
message[1] = new JTextField();
int result = JOptionPane.showOptionDialog(null,message,"输入ID",JOptionPane.DEFAULT_OPTION,JOptionPane.INFORMATION_MESSAGE,null,null,null);
System.out.println(JOptionPane.OK_OPTION);
if(result == JOptionPane.OK_OPTION){
JTextField jt = (JTextField)message[1];
if (jt.getText().equals("")){
System.out.println("it is "+"haha");
}
try{
int id = Integer.parseInt(jt.getText()); //从客户输入提取出id
aItem = lm.getItemByID(queType, id); //按照id查询
textArea.setText(aItem.toString());
}catch(Exception exp){
System.out.println("抛出异常 :"+ exp.getMessage());
JOptionPane.showMessageDialog(null, "您没有填写待查询题目的ID", "注意", JOptionPane.ERROR_MESSAGE);
}
}
}
});
final JMenuItem menuItemDif = new JMenuItem();
menuItemDif.setText("难度");
menu_1.add(menuItemDif);
menuItemDif.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent arg0) {
System.out.println("查询:按照难度 FROM " + queType);
Object[] message = new Object[2];
message[0] = "难度";
message[1] = new JTextField();
int result = JOptionPane.showOptionDialog(null,message,"输入难度",JOptionPane.DEFAULT_OPTION,JOptionPane.INFORMATION_MESSAGE,null,null,null);
if(result == JOptionPane.OK_OPTION){
JTextField jt = (JTextField)message[1];
try{
int dif = Integer.parseInt(jt.getText());
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -