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

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

?? testappframe.java

?? RMI英文教程,從各個方面教你怎么進行RMI開發
?? JAVA
字號:
package com.ora.rmibook.chapter13.bank.applications;


import com.ora.rmibook.gui.*;
import javax.swing.*;
import java.awt.event.*;
import java.util.*;
import java.awt.*;


public class TestAppFrame extends ExitingFrame {
    private static String ALL_ACCOUNTS = "Get Data For All Accounts";
    private TestResultHolder _testResultHolder;
    private NameRepository _nameRepository;
    private JTextField _numberOfThreadsField;
    private JTextField _numberOfOperationsField;
    private JButton _testButton;
    private JTextArea _resultsArea;
    private JComboBox _accountChooser;
    private int _numberOfFinishedThreads;
    private int _numberOfThreads;
    private ChooserListener _chooserListener;
    private Rectangle _upperLeftCorner;
    public TestAppFrame(int numberOfServers) {
        _nameRepository = new NameRepository(numberOfServers);
        _chooserListener = new ChooserListener();
        _upperLeftCorner = new Rectangle (0, 0, 1, 1);
    }
    
    protected void buildGUI() {
        setTitle("Chapter 12 Testing Application");
        JPanel mainPanel = new JPanel(new BorderLayout());

        mainPanel.add(buildConfigurationPanel(), BorderLayout.NORTH);
        mainPanel.add(buildResultsWindow(), BorderLayout.CENTER);
        setSize(600, 400);
        setContentPane(mainPanel);
    }

    private JComponent buildConfigurationPanel() {
        JPanel returnValue = new JPanel(new GridLayout(1, 5));

        _numberOfThreadsField = new JTextField();
        _numberOfOperationsField = new JTextField();
        _testButton = new JButton("Perform Test");
        _testButton.addActionListener(new TestLauncher());
        returnValue.add(new JLabel("Number of Clients"));
        returnValue.add(_numberOfThreadsField);
        returnValue.add(new JLabel("Number of Operations"));
        returnValue.add(_numberOfOperationsField);
        returnValue.add(_testButton);
        returnValue.setBorder(BorderFactory.createEtchedBorder());
        return returnValue;
    }

    private JComponent buildResultsWindow() {
        JPanel returnValue = new JPanel(new BorderLayout());

        _resultsArea = new JTextArea();
        _accountChooser = new JComboBox();
        returnValue.add(_accountChooser, BorderLayout.NORTH);
        returnValue.add(new JScrollPane(_resultsArea), BorderLayout.CENTER);
        return returnValue;
    }

    protected synchronized void testThreadFinished(TestThread testThread) {
        _numberOfFinishedThreads++;
    }

    protected synchronized boolean someThreadsNotFinished() {
        return _numberOfFinishedThreads < _numberOfThreads;
    }

    private void reset() {
        _testResultHolder = new TestResultHolder();
        _numberOfFinishedThreads = 0;
    }

    private void resetGUI() {
        _testResultHolder.sortResults();
        _accountChooser.removeActionListener(_chooserListener);
        _accountChooser.removeAllItems();
        _accountChooser.addItem(ALL_ACCOUNTS);
        Iterator i = (_testResultHolder.getAccountNames()).iterator();

        while (i.hasNext()) {
            _accountChooser.addItem(i.next());
        }
        _resultsArea.setText("");
        _accountChooser.addActionListener(_chooserListener);
        computeSummaryforAllAccounts();
    }

    private void summarize(ResultsSummary summaryObject, Collection tests, boolean addDescriptions) {
        Iterator i = tests.iterator();

        while (i.hasNext()) {
            Test nextTest = (Test) i.next();

            summaryObject.totalTime += nextTest.duration;
            summaryObject.numberOfTests++;
            if (addDescriptions) {
                summaryObject.resultsString += nextTest.describeOutcome();
            }
            if (summaryObject.longestTime < nextTest.duration) {
                summaryObject.longestTime = nextTest.duration;
            }
            if (nextTest.status == Test.FAILURE) {
                summaryObject.numberOfFailures++;
            }
            if (nextTest.status == Test.ACCOUNT_WAS_LOCKED) {
                summaryObject.numberOfLocks++;
            }
            if (nextTest.status == Test.REMOTE_EXCEPTION_THROWN) {
                summaryObject.numberOfRemoteExceptions++;
            }
            if (nextTest.status == Test.UNABLE_TO_CONNECT) {
                summaryObject.numberOfUnableToConnects++;
            }
            if (nextTest.status == Test.SUCCESS) {
                summaryObject.numberOfSuccesses++;
            }
        }
    }

    private void computeSummaryforAllAccounts() {
        ResultsSummary summaryObject = new ResultsSummary();
        Iterator i = (_testResultHolder.getAccountNames()).iterator();

        while (i.hasNext()) {
            String nextAccountName = (String) i.next();

            summarize(summaryObject, _testResultHolder.getResultsForAccount(nextAccountName), false);
        }
        displaySummary(summaryObject);
    }

    private void computeSummaryForChosenAccount(String accountName) {
        ResultsSummary summaryObject = new ResultsSummary();

        summarize(summaryObject, _testResultHolder.getResultsForAccount(accountName), true);
        displaySummary(summaryObject);
    }

    private void displaySummary(ResultsSummary summaryObject) {
        String partialString = "Number of operations : " + summaryObject.numberOfTests + "\n"
            + "\tAverage operation time: " + (summaryObject.totalTime / summaryObject.numberOfTests) + " milliseconds.\n"
            + "\tLongest operation time: " + summaryObject.longestTime + " milliseconds.\n"
            + "\tNumber of successes : " + summaryObject.numberOfSuccesses + ".\n"
            + "\tNumber of failures : " + summaryObject.numberOfFailures + ".\n"
            + "\tNumber of locks : " + summaryObject.numberOfLocks + ".\n"
            + "\tNumber of remote exceptions : " + summaryObject.numberOfRemoteExceptions + ".\n"
            + "\tNumber of unable to connects : " + summaryObject.numberOfUnableToConnects + ".\n";

        if (summaryObject.resultsString.equals("")) {
            summaryObject.resultsString = partialString;
        } else {
            summaryObject.resultsString = partialString
                    + "\n\n" + "Detailed Results \n ==================\n\n"
                    + summaryObject.resultsString;
        }
        _resultsArea.setText(summaryObject.resultsString);
        _resultsArea.scrollRectToVisible(_upperLeftCorner);
    }

    private class TestLauncher implements ActionListener {
        public void actionPerformed(ActionEvent event) {
            try {
                reset();
                _numberOfThreads = (Integer.valueOf(_numberOfThreadsField.getText())).intValue();
                int numberOfOperations = (Integer.valueOf(_numberOfOperationsField.getText())).intValue();
                int counter;

                for (counter = 0; counter < _numberOfThreads; counter++) {
                    TestThread nextThread = new TestThread(_nameRepository, numberOfOperations,
                            _testResultHolder, TestAppFrame.this);

                    nextThread.start();
                    Thread.sleep(100);	// wait a little bit to spread out the load
                }
                while (someThreadsNotFinished()) {
                    Thread.sleep(10000); 	// 10 seconds. It's not bad
                }
            } catch (Exception exception) {
            } finally {
                resetGUI();
            }
        }
    }


    private class ChooserListener implements ActionListener {
        public void actionPerformed(ActionEvent e) {
            String accountName = (String) _accountChooser.getSelectedItem();

            if (accountName == ALL_ACCOUNTS) {
                computeSummaryforAllAccounts();
            } else {
                computeSummaryForChosenAccount(accountName);
            }
        }
    }


    private class ResultsSummary {
        public String resultsString = "";
        public long totalTime = 0;
        public long longestTime = 0;
        public int numberOfTests = 0;
        public int numberOfFailures = 0;
        public int numberOfLocks = 0;
        public int numberOfRemoteExceptions = 0;
        public int numberOfSuccesses = 0;
        public int numberOfUnableToConnects = 0;
    }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品成人一区二区三区四区| 亚洲视频香蕉人妖| 中文字幕精品综合| 亚洲成av人片在线观看无码| 国产精品乡下勾搭老头1| 日本福利一区二区| 国产日韩欧美综合在线| 日韩精品成人一区二区三区| 成人av手机在线观看| 日韩欧美国产一区在线观看| 亚洲精品视频免费观看| 成人永久aaa| 精品久久人人做人人爰| 日韩精品成人一区二区在线| 色一情一乱一乱一91av| 国产日产欧美一区二区三区 | 欧美精品亚洲一区二区在线播放| 久久精品夜色噜噜亚洲aⅴ| 亚洲18女电影在线观看| 色网站国产精品| 国产精品久久久久久久久久免费看 | 蜜桃视频在线观看一区| 欧美日韩高清一区二区不卡| 亚洲视频免费在线观看| 成人黄色电影在线 | 日韩一级片在线播放| 亚洲国产精品久久一线不卡| 91麻豆国产福利精品| 自拍偷拍欧美激情| 99久久精品免费看国产免费软件| 国产精品视频一二三| 成人免费视频app| 国产精品久久久久久久久晋中 | 欧美性生活大片视频| 亚洲精选一二三| 色哟哟一区二区三区| 亚洲一区在线观看免费观看电影高清 | 欧美色精品在线视频| 亚洲福利电影网| 欧美精品一卡两卡| 久久99精品久久只有精品| 精品久久一区二区三区| 国产精品一二三四| 欧美国产精品v| 91香蕉视频污在线| 亚洲成av人影院| 欧美tickle裸体挠脚心vk| 国产成人免费在线视频| 中文字幕亚洲视频| 精品视频资源站| 精彩视频一区二区| 中文字幕永久在线不卡| 欧美专区亚洲专区| 美女在线一区二区| 亚洲国产成人私人影院tom| aaa亚洲精品一二三区| 五月激情丁香一区二区三区| 日韩精品一区在线| aaa国产一区| 午夜成人免费视频| 久久奇米777| 色婷婷亚洲精品| 麻豆91在线观看| 亚洲女人的天堂| 日韩欧美国产三级| 91老师国产黑色丝袜在线| 久久精品av麻豆的观看方式| 久久久久久97三级| 一本色道久久加勒比精品| 日韩激情视频在线观看| 中文无字幕一区二区三区| 欧美日韩中字一区| 成人深夜视频在线观看| 日韩国产欧美视频| 日韩理论在线观看| 夜夜爽夜夜爽精品视频| 亚洲精品在线三区| 欧美日韩一级二级| av电影一区二区| 精品一区二区成人精品| 一区二区三区高清在线| 亚洲国产高清aⅴ视频| 欧美一区二区网站| 91麻豆成人久久精品二区三区| 毛片一区二区三区| 性做久久久久久免费观看| xvideos.蜜桃一区二区| 欧美日韩成人综合在线一区二区| www.亚洲精品| 国产成人精品免费在线| 美女尤物国产一区| 日韩在线a电影| 亚洲午夜一区二区三区| 国产精品美女久久久久av爽李琼| 日韩视频在线一区二区| 欧美日韩电影一区| 日本久久一区二区| 91性感美女视频| 波多野洁衣一区| 不卡影院免费观看| 国产成人啪免费观看软件 | 一区二区三区国产精品| 中文字幕免费一区| 精品国产乱码久久久久久久| 欧美一区二区成人6969| 欧美精品乱人伦久久久久久| 91免费精品国自产拍在线不卡| www.激情成人| www.色精品| 91网站最新地址| 91视频com| 色综合天天性综合| www.久久精品| 91国偷自产一区二区使用方法| k8久久久一区二区三区| aa级大片欧美| 91啦中文在线观看| 欧美性感一区二区三区| 欧美精品丝袜中出| 欧美日韩黄色影视| 欧美三区在线观看| 欧美精选一区二区| 日韩亚洲欧美成人一区| 精品欧美一区二区三区精品久久| 精品国产伦理网| 国产精品成人一区二区艾草 | 亚洲一区二区三区四区在线免费观看| 国产精品色在线观看| 国产欧美综合在线观看第十页| 中文一区二区完整视频在线观看| 国产日本亚洲高清| 中文字幕一区三区| 亚洲国产精品一区二区www| 美女任你摸久久| 国产精品一区一区三区| www.欧美日韩国产在线| 欧美系列一区二区| 精品女同一区二区| 久久久亚洲午夜电影| 中文字幕一区在线观看视频| 亚洲制服丝袜在线| 国产一区欧美日韩| 在线亚洲高清视频| 精品国产一区二区三区不卡| 国产欧美精品区一区二区三区 | 美女一区二区久久| 国产精品资源在线看| 一本一本大道香蕉久在线精品| 911精品国产一区二区在线| 精品免费国产一区二区三区四区| 国产女人18水真多18精品一级做| 亚洲精品国产第一综合99久久| 亚洲一区在线观看网站| 国产精品亚洲一区二区三区在线| 91丨porny丨首页| 91精品国产乱码久久蜜臀| 国产日产欧美一区| 视频一区二区国产| 成人免费av资源| 欧美一区二区三区免费大片| 亚洲欧美在线另类| 国产乱码精品一区二区三区五月婷 | 欧美妇女性影城| 久久精品欧美日韩| 亚洲一区二区三区四区中文字幕| 韩国理伦片一区二区三区在线播放| 色偷偷久久一区二区三区| 久久在线观看免费| 天堂成人国产精品一区| 99精品欧美一区二区三区综合在线| 欧美一区二区三区白人| 国产精品国产自产拍高清av王其 | 91精品国产色综合久久不卡电影 | 18欧美亚洲精品| 久久国产生活片100| 欧美在线视频你懂得| 国产精品丝袜久久久久久app| 欧美aⅴ一区二区三区视频| 欧美最猛黑人xxxxx猛交| 亚洲色图在线看| 丁香六月综合激情| 久久亚洲捆绑美女| 蜜臂av日日欢夜夜爽一区| 欧美日韩专区在线| 亚洲成人av一区二区| 91免费视频大全| 亚洲人成网站影音先锋播放| 国产成人av一区| 久久亚洲一级片| 国产美女精品人人做人人爽| 日韩亚洲欧美一区二区三区| 国产精品国产三级国产aⅴ中文| 国产成人综合视频| 国产亚洲欧美在线| 国产一区二区成人久久免费影院| 日韩三级在线免费观看| 国产精品久久99| 久久嫩草精品久久久久| 3d动漫精品啪啪一区二区竹菊| 国产美女av一区二区三区|