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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? testpanel.java~29~

?? 這是我最得意的一件小作品。它是一個基于C/S模式的網(wǎng)絡(luò)考試系統(tǒng)
?? JAVA~29~
字號:

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;

    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("試題結(jié)束"))
                    {
                        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("服務(wù)器連接終止");
                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);

        JPanel southPanel=new JPanel();
        JPanel radioPanel=new JPanel();
        String s[]={"A","B","C","D"};
        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("向服務(wù)器寫\"開始考試\"失敗");
        }
    }

    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("下一題");

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

    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("向服務(wù)器\"提交答案\"失敗");
        }
    }

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

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

}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩国产免费一区二区| 欧美一区午夜精品| 美女视频一区二区| 亚洲欧美综合在线精品| 欧美丰满少妇xxxxx高潮对白 | 国产片一区二区| 欧美性猛交xxxx黑人交| 国产在线一区二区| 亚洲图片自拍偷拍| 中文一区一区三区高中清不卡| 8v天堂国产在线一区二区| 波多野结衣的一区二区三区| 男女男精品网站| 一区二区三区国产| 国产精品污污网站在线观看| 欧美成人a视频| 欧美视频完全免费看| av成人免费在线观看| 精品一区二区三区在线视频| 香蕉影视欧美成人| 一区二区三区不卡在线观看| 国产欧美精品区一区二区三区| 日韩三级av在线播放| 欧美日韩一区二区三区在线看| 97国产一区二区| 国产成人av在线影院| 国产一区二区三区免费播放| 图片区小说区区亚洲影院| 亚洲综合一区二区三区| 亚洲精品写真福利| 亚洲人成网站色在线观看| 国产精品午夜电影| 国产精品视频在线看| 国产无一区二区| 久久精品欧美一区二区三区不卡 | 亚洲精品一区二区三区99| 欧美一区二区三区免费| 欧美日韩在线免费视频| 在线观看亚洲专区| 欧美性受xxxx黑人xyx性爽| 91在线免费视频观看| 97久久精品人人做人人爽50路 | 日韩欧美一区二区久久婷婷| 欧美日韩视频一区二区| 欧美日韩一二三区| 欧美日韩另类国产亚洲欧美一级| 欧美日韩国产美女| 欧美日韩国产在线播放网站| 欧美精品免费视频| 欧美一区二区三区在线观看视频| 日韩一级大片在线| 欧美精品一区二区久久婷婷| 久久精品网站免费观看| 日本一区二区成人在线| 一区免费观看视频| 亚洲一区影音先锋| 日韩精品一级中文字幕精品视频免费观看| 激情久久五月天| 国内精品伊人久久久久影院对白| 国产精品一区在线观看乱码| 成人v精品蜜桃久久一区| 国产成人三级在线观看| a级精品国产片在线观看| 97久久超碰国产精品电影| 欧美性色欧美a在线播放| 日韩欧美激情一区| 国产精品女主播av| 亚洲二区在线观看| 狠狠色丁香婷婷综合| 床上的激情91.| 欧美日韩一区二区在线观看视频| 欧美电视剧免费观看| 国产精品夫妻自拍| 日韩高清不卡一区二区三区| 国产在线精品一区二区不卡了| 99久久久无码国产精品| 欧美日韩在线免费视频| 久久久久久97三级| 亚洲一区二区三区四区的| 美国十次了思思久久精品导航| 国产成人啪免费观看软件| 91丨九色丨蝌蚪富婆spa| 555夜色666亚洲国产免| 国产欧美日韩不卡免费| 午夜成人在线视频| 国产高清视频一区| 欧美日韩三级一区| 久久精品夜色噜噜亚洲a∨| 亚洲综合色在线| 国产馆精品极品| 51午夜精品国产| 亚洲视频一区在线观看| 加勒比av一区二区| 欧美视频在线观看一区| 国产精品美女www爽爽爽| 爽爽淫人综合网网站| 99精品欧美一区| xnxx国产精品| 午夜影视日本亚洲欧洲精品| 成人精品免费网站| 日韩午夜在线观看| 亚洲一区二区三区四区的 | 国产精品一区二区黑丝| 欧美亚一区二区| 国产精品二三区| 精品一区二区三区在线播放| 欧美日韩在线免费视频| 亚洲欧美福利一区二区| 国产高清亚洲一区| 欧美成人vps| 日韩国产欧美在线视频| 欧美在线不卡一区| 国产精品美女久久福利网站| 国产一区视频导航| 日韩一级成人av| 日本在线观看不卡视频| 色噜噜狠狠成人网p站| 国产精品国产a级| 粉嫩嫩av羞羞动漫久久久| 精品sm在线观看| 精品一区二区久久久| 欧美日韩精品一区二区三区蜜桃| 一区二区在线观看av| 99久久国产综合色|国产精品| 国产欧美视频一区二区三区| 精品无人区卡一卡二卡三乱码免费卡| 欧美色中文字幕| 亚洲韩国一区二区三区| 色视频一区二区| 亚洲精品一卡二卡| 色婷婷激情综合| 亚洲精品久久7777| 在线观看av不卡| 一区二区三区欧美日| 欧洲日韩一区二区三区| 伊人性伊人情综合网| 一本一道久久a久久精品| 亚洲男同性视频| 91视频一区二区| 亚洲免费av高清| 欧美一a一片一级一片| 亚洲高清免费在线| 91麻豆精品国产91久久久久久久久 | 国产精品黄色在线观看| 国产成人av电影免费在线观看| 国产校园另类小说区| 高清不卡一区二区在线| 国产精品福利一区二区| 一本色道综合亚洲| 午夜精品久久久久久久99水蜜桃 | 不卡的av电影| 亚洲欧美日韩在线| 欧美亚洲自拍偷拍| 日韩精品久久理论片| 亚洲精品一区二区三区在线观看| 国产精品一线二线三线| 国产精品二三区| 欧美日韩一区二区三区高清| 美女被吸乳得到大胸91| 久久嫩草精品久久久久| av一二三不卡影片| 亚洲一区二区三区四区五区黄 | 成人黄色一级视频| 尤物视频一区二区| 欧美精品久久久久久久久老牛影院| 久久精品国产精品青草| 久久精品欧美一区二区三区不卡 | 精品视频1区2区3区| 捆绑调教美女网站视频一区| 国产日韩精品久久久| 欧美在线影院一区二区| 蜜臀av一区二区| 国产精品久久久久影院老司| 欧美三级电影在线看| 精品影视av免费| 亚洲激情第一区| 精品国产一区二区在线观看| 成人不卡免费av| 日韩精彩视频在线观看| 国产欧美久久久精品影院| 欧美日韩久久一区| 国产成人精品影院| 丝瓜av网站精品一区二区| 亚洲国产精品激情在线观看| 欧美三日本三级三级在线播放| 狠狠色丁香婷婷综合久久片| 一二三区精品福利视频| 久久视频一区二区| 欧美中文一区二区三区| 高清不卡在线观看av| 日本特黄久久久高潮| 综合久久久久久久| 久久青草国产手机看片福利盒子| 91精彩视频在线| 国产不卡视频在线观看| 日韩一区精品字幕| 一区二区三区中文在线观看| 久久九九影视网| 在线成人av网站| 一本到不卡精品视频在线观看|