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

📄 resultdialog.java

📁 webservice压力测试模拟器,可以并发的同时测试多台服务器的性能.
💻 JAVA
字号:
package com.gpdi.www.ws.client;

import java.awt.*;
import javax.swing.*;

import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.util.*;

import javax.swing.border.*;
import java.awt.event.*;

public class ResultDialog
	extends JDialog
{
	Frame parent = null;
	Map result = null;
	long timeSpan = 0;
	int times = 0;
	private boolean isSave = false;

	JPanel panel1 = new JPanel();
	BorderLayout borderLayout1 = new BorderLayout();
	JPanel jPanel1 = new JPanel();
	JButton btnExit = new JButton();
	JScrollPane jScrollPane1 = new JScrollPane();
	JTextArea textResult = new JTextArea();
	Border border1;
	Border border2;
	JTextField txtTimeSpan = new JTextField();
	Border border3;

	public ResultDialog(Frame frame, String title, Map result,
						long timeSpan, int times,boolean isSave)
	{
		super(frame, title);
		enableEvents(AWTEvent.WINDOW_EVENT_MASK);
		this.result = result;
		this.parent = frame;
		this.timeSpan = timeSpan;
		this.times = times;
		this.isSave = isSave;
		try
		{
			jbInit();
			pack();
			centerDialog();
		}
		catch (Exception ex)
		{
			ex.printStackTrace();
		}
	}

	private void centerDialog()
	{
		Point parentLocation;
		Dimension parentSize;
		if (parent == null)
		{
			parentLocation = new Point(0, 0);
			parentSize = Toolkit.getDefaultToolkit().getScreenSize();
		}
		else
		{
			parentLocation = getParent().getLocation();
			parentSize = getParent().getSize();
		}
		Dimension size = getSize();
		setLocation(parentLocation.x + parentSize.width / 2 -
					size.width / 2,
					parentLocation.y + parentSize.height / 2 -
					size.height / 2);
	}

	private void jbInit() throws Exception
	{
		border1 = BorderFactory.createEmptyBorder(5, 5, 5, 5);
		border2 = BorderFactory.createEmptyBorder(5, 5, 5, 5);
		border3 = new EtchedBorder(EtchedBorder.RAISED, Color.white,
								   new Color(148, 145, 140));
		panel1.setLayout(borderLayout1);
		this.setModal(true);
		this.setResizable(false);
		btnExit.setText("OK");
		btnExit.addActionListener(new ResultDialog_btnExit_actionAdapter(this));
		textResult.setFont(new java.awt.Font("DialogInput", 0, 12));
		textResult.setEditable(false);
		textResult.setText("");
		jPanel1.setBorder(null);
		jPanel1.setDebugGraphicsOptions(0);
		panel1.setBorder(border2);
		txtTimeSpan.setBorder(border3);
		txtTimeSpan.setCaretColor(Color.black);
		txtTimeSpan.setEditable(false);
		long avgTime = (long) ( (double) timeSpan / (double) times);
		txtTimeSpan.setText("Total Time: " + (timeSpan / 1000) + " sec "
							+ (timeSpan % 1000) + " millisec.    " +
							"Average Time: " + (avgTime / 1000) + " sec "
							+ (avgTime % 1000) + " millisec.");
		borderLayout1.setHgap(3);
		borderLayout1.setVgap(3);
		jScrollPane1.setMinimumSize(new Dimension(400, 300));
		jScrollPane1.setPreferredSize(new Dimension(400, 300));
		getContentPane().add(panel1);
		panel1.add(jPanel1, BorderLayout.SOUTH);
		jPanel1.add(btnExit, null);
		panel1.add(jScrollPane1, BorderLayout.CENTER);
		panel1.add(txtTimeSpan, BorderLayout.NORTH);
		jScrollPane1.getViewport().add(textResult, null);

		textResult.append("Return value and output parameters:\n");
		textResult.append(
			"---------------------------------------------------\n");
		for (Iterator i = result.keySet().iterator(); i.hasNext(); )
		{
			String name = (String) i.next();
			Object value = result.get(name);
			String line;
			if (value != null)
			{
				line = name + " = " + result.get(name).toString() + "\n";
			}
			else
			{
				line = name + "=(null)\n";
			}
			textResult.append(line);
			if(isSave){
			    saveResult(line.substring(line.indexOf("=")+1));
			}
		}
	}

	protected void processWindowEvent(WindowEvent e)
	{
		if (e.getID() == WindowEvent.WINDOW_CLOSING)
		{
			dispose();
		}
		super.processWindowEvent(e);
	}

	void btnExit_actionPerformed(ActionEvent e)
	{
		dispose();
	}
	//by shanben 2007/04/18  将返回的结果保存到客户端.
	 public void saveResult(String xmlDoc){
	    	//FileWriter writer = null;
		    FileOutputStream writer = null;
	        PrintWriter pw = null;
	        OutputStreamWriter osw = null;
	        try {
	          //writer = new FileWriter(getFileName(),false);
	          writer = new FileOutputStream(getFileName(),false);
	          osw = new OutputStreamWriter(writer,"UTF-8");
	          pw = new PrintWriter(osw);
	          pw.println(xmlDoc);
	          pw.flush();
	        }
	        catch (IOException ex) {
	          ex.printStackTrace();
	        }
	        finally {
	          try {
	            pw.close();
	            writer.close();
	            osw.close();
	          }
	          catch (IOException ex1) {
	            ex1.printStackTrace();
	          }
	        }
	    }
	 //by shanben 2007/04/18 根据当前时间动态产生一个文件名(年+月+日+小时+分+秒+毫秒)出来
	 public String getFileName(){
	 	    int year = Calendar.getInstance().get(Calendar.YEAR);
			int month = Calendar.getInstance().get(Calendar.MONTH) + 1;
			int day = Calendar.getInstance().get(Calendar.DAY_OF_MONTH);
			int hour = Calendar.getInstance().get(Calendar.HOUR_OF_DAY);
			int minute = Calendar.getInstance().get(Calendar.MINUTE);
			int second = Calendar.getInstance().get(Calendar.SECOND);
			int milisecond = Calendar.getInstance().get(Calendar.MILLISECOND);
			return "" + year + month + day + hour + minute + second + milisecond + ".xml";
	 }
}

class ResultDialog_btnExit_actionAdapter
	implements java.awt.event.ActionListener
{
	ResultDialog adaptee;

	ResultDialog_btnExit_actionAdapter(ResultDialog adaptee)
	{
		this.adaptee = adaptee;
	}

	public void actionPerformed(ActionEvent e)
	{
		adaptee.btnExit_actionPerformed(e);
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -