亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? testpanel.java

?? 這是我最得意的一件小作品。它是一個基于C/S模式的網絡考試系統
?? JAVA
字號:

package testsystem;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
import java.net.*;

public class TestPanel extends JPanel implements ActionListener,Runnable
{
    private Socket connectToServer;
    private DataInputStream inFromServer;
    private DataOutputStream outToServer;
    private Thread thread;

    private Timer testTimer;
    private int testTime;

    private JButton startButton;
    private JLabel timeLabel;

    private JTextArea questionArea;

    private Checkbox radioButton[]=new Checkbox[4];
    private CheckboxGroup buttonGroup=new CheckboxGroup();
    private JButton answerButton;
    private JButton questionButton;
    private JButton scoreButton;
    JPanel southPanel=new JPanel();
    JPanel radioPanel=new JPanel();
    String s[]={"A","B","C","D"};

    public TestPanel(InetAddress addr,int port)
    {
        initPanelGUI();
       try {
           connectToServer=new Socket(addr,port);
           inFromServer=new DataInputStream(connectToServer.getInputStream());
           outToServer=new DataOutputStream(connectToServer.getOutputStream());
           System.out.println(connectToServer.getInetAddress());
       } catch (IOException ex) {
           System.out.println("TestPanel連接錯誤");
           startButton.setEnabled(false);
       }
       testTimer=new Timer(1000,this);
       thread=new Thread(this);
       thread.start();
    }
    public void actionPerformed(ActionEvent e)
    {
        if(e.getSource()==startButton)
        {
            startButtonPerformed();
        }
        if(e.getSource()==testTimer)
        {
            testTimerPerformed();
        }
        if(e.getSource()==questionButton)
        {
            questionButtonPerformed();
        }
        if(e.getSource()==answerButton)
        {
            answerButtonPerformed();
        }
        if(e.getSource()==scoreButton)
        {
            scoreButtonPerformed();
        }
    }

    public void run()
    {
        String inStr="";
        while(true)
        {
            try {
                inStr=inFromServer.readUTF();
                if(inStr.startsWith("考試時間"))
                {
                    System.out.println(inStr.indexOf('@')+1);
                    inStr=inStr.substring(inStr.indexOf('@')+1);
                    testTime=Integer.parseInt(inStr);
                    timeLabel.setText(convertTime(testTime));
                    System.out.println(testTime);
                    testTimer.start();
                }
                if(inStr.startsWith("下一題"))
                {
                    inStr=inStr.substring(inStr.indexOf("@")+1);
                    questionArea.setText(inStr);
                    if(inStr.startsWith("試題結束"))
                    {
                        testTimer.stop();
                        questionButton.setEnabled(false);
                        answerButton.setEnabled(false);
                        scoreButton.setEnabled(true);
                    }

                }
                if(inStr.startsWith("成績"))
                {
                    JOptionPane.showMessageDialog(null,inStr,"成績顯示",JOptionPane.INFORMATION_MESSAGE);
                    socketClosing();
                }
            } catch (Exception ex) {
                socketClosing();
                questionArea.setText("服務器連接終止");
                break;
            }
        }
    }

    private void initPanelGUI()
    {

        setLayout(new BorderLayout());
        JPanel northPanel=new JPanel();
        northPanel.setLayout(new GridLayout(2,1));
        startButton=new JButton("開始考試");
        startButton.addActionListener(this);
        timeLabel=new JLabel("考試剩余時間");
        northPanel.add(startButton);
        northPanel.add(timeLabel);
        add(northPanel,BorderLayout.NORTH);

        questionArea=new JTextArea(30,10);
        questionArea.setLineWrap(true);
        questionArea.setWrapStyleWord(true);
        questionArea.setFont(new Font("幼圓",Font.PLAIN,16));
        int vScroll=ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED;
        int hScroll=ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER;
        add(new JScrollPane(questionArea,vScroll,hScroll),BorderLayout.CENTER);

        for(int i=0;i<radioButton.length;i++)
        {
            radioButton[i]=new Checkbox(s[i], buttonGroup,false);
            radioPanel.add(radioButton[i]);

        }
        answerButton=new JButton("提交答案");
        answerButton.setEnabled(false);
        answerButton.addActionListener(this);
        questionButton=new JButton("下一題");
        questionButton.setEnabled(false);
        questionButton.addActionListener(this);
        scoreButton=new JButton("成績");
        scoreButton.setEnabled(false);
        scoreButton.addActionListener(this);
        southPanel.add(radioPanel);
        southPanel.add(answerButton);
        southPanel.add(questionButton);
        southPanel.add(scoreButton);
        add(southPanel,BorderLayout.SOUTH);

    }

    private String convertTime(int time)
   {
       int leftTime=time/1000;
       int leftHour=leftTime/3600;
       int leftMinute=(leftTime-leftHour*3600)/60;
       int leftSecond=leftTime%60;
       String timeStr="剩余時間:"+leftHour+"小時"+leftMinute+"分"+leftSecond+"秒";
       return timeStr;

    }

    private void startButtonPerformed()
    {
        startButton.setEnabled(true);
        questionButton.setEnabled(false);
        answerButton.setEnabled(true);
        try {
            outToServer.writeUTF("開始考試");
        } catch (Exception ex) {
            System.out.println("向服務器寫\"開始考試\"失敗");
        }
    }

    private void testTimerPerformed()
    {
        testTime-=1000;
        timeLabel.setText(convertTime(testTime));
        if(testTime<=0)
        {
            testTimer.stop();
            questionButton.setEnabled(false);
            answerButton.setEnabled(false);
        }
    }

    private void questionButtonPerformed()
    {
        questionButton.setEnabled(false);
        answerButton.setEnabled(true);
        try {
            outToServer.writeUTF("下一題");
            buttonGroup.setSelectedCheckbox(null);

        } catch (Exception ex) {
            System.out.println("向服務器寫\"下一題\"失敗");
        }
    }

    private void answerButtonPerformed()
    {
        String answer="";
        questionButton.setEnabled(true);
        answerButton.setEnabled(false);
        for(int i=0;i<radioButton.length;i++)
        {
            if(radioButton[i].getState())
            {
                answer=radioButton[i].getLabel();
                break;
            }
        }
        try {
            outToServer.writeUTF("提交答案@"+answer);
        } catch (Exception e) {
            System.out.println("向服務器\"提交答案\"失敗");
        }
    }

    private void scoreButtonPerformed()
    {
        try {
            scoreButton.setEnabled(false);
            outToServer.writeUTF("成績");
        } catch (Exception ex) {
            System.out.println("要求服務器發送\" 成績\"失敗");
        }
    }

    private void socketClosing()
    {
        try {
            inFromServer.close();
            outToServer.close();
            connectToServer.close();
        } catch (Exception ex) {
            System.out.println("關閉socket發生異常!");
        }
    }

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产一区二区三区忘忧草| 亚洲综合男人的天堂| 国产一区二区三区观看| 精品三级在线看| 国产精品99久久久久久久女警 | 欧美日韩国产首页在线观看| 亚洲自拍偷拍网站| 5858s免费视频成人| 九九**精品视频免费播放| 国产亚洲精品7777| 日本韩国欧美在线| 美女性感视频久久| 青草国产精品久久久久久| 91精品国产综合久久久久| 麻豆精品国产传媒mv男同| 日本一区二区三区在线观看| 在线视频一区二区三| 日本亚洲一区二区| 中文字幕精品在线不卡| 91国偷自产一区二区三区观看| 性感美女极品91精品| 精品福利视频一区二区三区| 97久久精品人人澡人人爽| 亚洲国产精品久久久久婷婷884| 欧美va亚洲va国产综合| 成人av综合一区| 日本人妖一区二区| 国产精品久久久久久久久动漫 | 亚洲日本在线a| 欧美一区二区三区系列电影| 成人免费看视频| 蜜桃视频第一区免费观看| 亚洲视频香蕉人妖| 久久久久久日产精品| 欧美日韩在线不卡| 成人少妇影院yyyy| 蜜臀av性久久久久蜜臀aⅴ| 成人欧美一区二区三区小说| 日韩亚洲欧美高清| 色狠狠av一区二区三区| 国产一区久久久| 日本成人在线网站| 亚洲私人黄色宅男| 国产无一区二区| 日韩精品一区国产麻豆| 色悠久久久久综合欧美99| 国产福利一区在线| 捆绑变态av一区二区三区 | 亚洲自拍偷拍麻豆| 国产精品理伦片| 26uuu色噜噜精品一区| 欧美亚洲综合在线| 99国产精品一区| 国产91在线观看| 国产精品夜夜嗨| 裸体在线国模精品偷拍| 亚洲1区2区3区视频| 亚洲欧美一区二区不卡| 欧美国产日韩亚洲一区| 久久久激情视频| 91精品国产综合久久久久久| 欧美性三三影院| 成人精品视频.| 国产iv一区二区三区| 久久99精品国产麻豆婷婷洗澡| 五月天精品一区二区三区| 樱桃视频在线观看一区| 精品在线视频一区| 亚洲精品国产视频| 亚洲欧洲成人自拍| 中文字幕亚洲视频| 国产精品你懂的| 国产精品久久毛片av大全日韩| 国产午夜久久久久| 久久久久久久网| 久久久精品蜜桃| 国产亚洲精品资源在线26u| 亚洲精品在线观看网站| 久久美女艺术照精彩视频福利播放| 91精品麻豆日日躁夜夜躁| 欧美精品aⅴ在线视频| 欧美日韩国产另类一区| 51精品国自产在线| 欧美一区二区日韩| 精品欧美一区二区久久| 久久久久综合网| 国产欧美日韩一区二区三区在线观看| 久久亚洲综合色一区二区三区 | 久久久九九九九| 久久久久国产一区二区三区四区| 久久久精品2019中文字幕之3| 久久久久久久久久久久久夜| 国产亚洲精品久| 国产精品不卡在线观看| 亚洲精品视频一区二区| 亚洲1区2区3区视频| 美女视频免费一区| 国产精品亚洲人在线观看| 不卡一二三区首页| 欧美婷婷六月丁香综合色| 欧美一二区视频| 国产欧美一区二区精品久导航| 中文字幕字幕中文在线中不卡视频| 亚洲伦理在线免费看| 日韩福利电影在线| 国产盗摄女厕一区二区三区| 91玉足脚交白嫩脚丫在线播放| 在线观看不卡一区| 日韩美女在线视频| 亚洲欧洲日产国产综合网| 亚洲成av人**亚洲成av**| 精品一区二区三区在线视频| 成人一区二区视频| 欧美日韩午夜在线| 日本一区二区三区四区| 亚洲曰韩产成在线| 国产精品小仙女| 欧美手机在线视频| 国产女人aaa级久久久级| 亚洲美女视频在线观看| 久久99国产精品久久99| 99国产精品久久久久久久久久久| 日韩视频一区二区三区| 国产精品国产三级国产普通话99| 亚洲国产精品影院| 成人小视频免费观看| 日韩欧美一区二区在线视频| 国产精品久久久久久久久免费相片| 午夜私人影院久久久久| 国产精品影视网| 欧美视频在线不卡| 日韩一区日韩二区| 极品少妇一区二区三区精品视频 | 欧美成人艳星乳罩| 亚洲欧美激情小说另类| 久热成人在线视频| 91麻豆精品秘密| 国产精品系列在线| 精品在线观看视频| 欧美日本国产一区| 亚洲精品乱码久久久久久黑人| 极品少妇一区二区| 日韩亚洲电影在线| 亚洲国产精品视频| 91老师国产黑色丝袜在线| 久久久久九九视频| 精品在线一区二区| 欧美一卡二卡在线观看| 一二三四社区欧美黄| 成人午夜碰碰视频| 国产女人18毛片水真多成人如厕| 免费成人结看片| 欧美日本在线看| 亚洲在线视频一区| 在线观看日韩国产| 亚洲人快播电影网| 91在线免费视频观看| 欧美国产精品一区二区| 粉嫩高潮美女一区二区三区| 日韩精品影音先锋| 琪琪久久久久日韩精品| 欧美乱妇20p| 免费观看在线综合| 欧美一区二区美女| 美女精品一区二区| 6080午夜不卡| 天天综合网天天综合色| 欧美日韩免费视频| 午夜免费久久看| 欧美人伦禁忌dvd放荡欲情| 亚洲一区二区三区美女| 色婷婷亚洲婷婷| 成人免费在线观看入口| 国产精品一区在线观看你懂的| 欧美日韩中文国产| 亚洲第一主播视频| 在线成人高清不卡| 久久99久国产精品黄毛片色诱| 日韩一区二区三区av| 久久er精品视频| 久久精品夜夜夜夜久久| 成人av网站大全| 尤物在线观看一区| 正在播放一区二区| 国产一区二区三区美女| 国产日本一区二区| av电影在线观看完整版一区二区| 亚洲视频一二三区| 综合久久一区二区三区| 色综合久久综合网97色综合| 亚洲地区一二三色| 欧美电视剧免费观看| 成人成人成人在线视频| 亚洲视频在线观看一区| 欧美日韩综合在线免费观看| 九九视频精品免费| 亚洲欧洲国产日韩| 91精品国产综合久久久久久久 | 高清不卡一区二区| 亚洲激情中文1区|