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

📄 guiv2.java

📁 一个简单的测试系统
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
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 + -