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

📄 timeconsumingworker.java

📁 一个用于排队系统仿真的开源软件,有非常形象的图象仿真过程!
💻 JAVA
字号:
/**
 * 
 */
package jmt.engine.jwat;

import java.lang.reflect.InvocationTargetException;
import java.util.Vector;

import javax.swing.SwingUtilities;

import jmt.gui.jwat.SwingWorker;
import jmt.gui.jwat.input.EventStatus;
import jmt.gui.jwat.input.ProgressShow;


/**
 * @author Maevar
 *
 */
public abstract class TimeConsumingWorker extends SwingWorker {

	private ProgressShow viewer;
	private Vector statusListener = null; //<ProgressStatusListener>
	
	/**
	 * 
	 */
	public TimeConsumingWorker(ProgressShow prg) {
		super();
		viewer=prg;
		statusListener=new Vector();
	}
	
	public int getStep(){
		return viewer.getStep();
	}
	
	public void addStatusListener(ProgressStatusListener listener)
	{
		statusListener.add(listener);
	}
	
	public void fireEventStatus(EventStatus e)
	{
		for(int i=0;i<statusListener.size();i++) 
			((ProgressStatusListener) statusListener.get(i)).statusEvent(e);
	}
	
	public void updateInfos(final int value,final String txt,boolean waitShow)
	{
		Runnable r=new Runnable(){
			public void run() {
				viewer.eventUpdate(value,txt);
			}
		};
		if(waitShow){
			try {
				SwingUtilities.invokeAndWait(r);
			} catch (InterruptedException e) {
				e.printStackTrace();
			} catch (InvocationTargetException e) {
				e.printStackTrace();
			}
		}
		else{
			SwingUtilities.invokeLater(r);
		}		
	}
	
	public boolean isCanceled()
	{
		return viewer.isCanceled();
	}
	
	public void initShow(final int maxValue) throws InterruptedException, InvocationTargetException
	{
		Runnable r=new Runnable(){
			public void run() {
				viewer.initShow(maxValue);
			}
		};

		SwingUtilities.invokeAndWait(r);
	}
	
	public void closeView()
	{
		Runnable r=new Runnable(){
			public void run() {
				viewer.closeView();
			}
		};
		
		SwingUtilities.invokeLater(r);
		
	}

	/* (non-Javadoc)
	 * @see jmt.jwat.Utility.SwingWorker#construct()
	 */
	public abstract Object construct();
	
	/* (non-Javadoc)
	 * @see jmt.jwat.Utility.SwingWorker#finished()
	 */
	public abstract void finished(); 
}

⌨️ 快捷键说明

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