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

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

?? queuepanel.java

?? 打印管理程序,測試完全通過.windows開發環境.
?? JAVA
字號:
package jp.co.ntl.swing.ext.spooler;

import java.awt.BorderLayout;
///import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Vector;

import javax.swing.BoxLayout;
import javax.swing.JApplet;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JOptionPane;
import javax.swing.JMenuItem;
import javax.swing.ListSelectionModel;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import javax.swing.table.TableColumn;

import jp.co.ntl.Net;
import jp.co.ntl.NetworkException;
import jp.co.ntl.Page;
import jp.co.ntl.SpoolerException;
import jp.co.ntl.Util;
import jp.co.ntl.ServerException;
import jp.co.ntl.TimeOutException;
import jp.co.ntl.ActionEventConstants;
import jp.co.ntl.preference.PreferenceInfo;
import jp.co.ntl.spkey.SPKeyInfo;
import jp.co.ntl.user.UserInfo2;
import jp.co.ntl.spooler.SpoolerInfo;
import jp.co.ntl.swing.BasePanel;
import jp.co.ntl.swing.TableSorter;
import jp.co.ntl.swing.ext.DialogManager;

public abstract class QueuePanel extends BasePanel implements ActionListener, ListSelectionListener {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
	protected JTable				tblSpooler;
	protected SpoolerTableModel	mdlSpooler;
	protected ListSelectionModel	mdlSpoolerSelect;
	protected JScrollPane			scrSpooler;
	protected JButton				btnPrint;
///	protected JButton				btnCancel;	// Cancel儃僞儞偼嶍彍 2007/06/27
	protected JButton				btnDelete;
	protected JButton				btnDetail;
	protected JButton				btnRefresh;
	
	protected JMenuItem			menuPrint;
	protected JMenuItem			menuCancel;
	protected JMenuItem			menuDelete;
	protected JMenuItem			menuDetail;
	
	protected Vector				vcSpoolerInfo;
	protected SpoolerInvoker		invoker;
	protected Object				keyInfo;
	protected TableSorter			sorter;
	protected boolean				admin;
	protected SpoolerUtil			su;
	protected int					que;
	protected SpoolerPanel			spl;
	
	public QueuePanel(JFrame parent, SpoolerPanel spl, Net net, boolean admin, Object keyInfo, int que) {
		this.parent = parent;
		commonConstractor(spl, net, admin, keyInfo, que);
	}
	
	public QueuePanel(JApplet appl, SpoolerPanel spl, Net net, boolean admin, Object keyInfo, int que) {
		this.app = appl;
		commonConstractor(spl, net, admin, keyInfo, que);
	}
	
	private void commonConstractor(SpoolerPanel spl, Net net, boolean admin, Object keyInfo, int que) {
		this.net = net;
		this.keyInfo = keyInfo;
		this.admin = admin;
		this.que = que;
		this.spl = spl;
		buildComponents();		
	}
	
	protected abstract void createButtonObject();
	protected abstract Vector getQueType();
	protected abstract void createPopupMenu();
	
	public boolean getSpoolerInfo() throws NetworkException, ServerException, TimeOutException {
		Vector	vcSpoolerInfo = new Vector();

		try {
			Vector	queTypes = getQueType();
			vcSpoolerInfo = invoker.getJobList(queTypes, keyInfo, "ALL");
			
			int[]	rows = tblSpooler.getSelectedRows();
			
			// lium add start
			Vector	vecSelJobIds = new Vector();
			Vector	vecSelRows = new Vector();
			for (int i = 0; i < rows.length; i++) {
				int	selRow = sorter.modelIndex(rows[i]);
//				int	selRow = rows[i];
				if (selRow >= 0) {
					SpoolerInfo	splInfo = (SpoolerInfo)mdlSpooler.getSelectedInfo(selRow);
					if (!vecSelJobIds.contains(splInfo.getJobID())) {
						vecSelJobIds.add(splInfo.getJobID());
						Util.debugPrint("Refresh慜曐懚偟偨Job=" + splInfo.getJob() + " JobId=" + splInfo.getJobID() + " selRow=" + selRow);
					}
				}
			}
			// lium add end
			
			mdlSpooler.refreshInfos(vcSpoolerInfo);

/*			if (rows != null) {
				if (rows.length > 0) {
					mdlSpoolerSelect.addSelectionInterval(rows[0], rows[rows.length - 1]);
				}
			}*/
			
			// lium add start
			int nCount = mdlSpooler.getRowCount();
			for (int j = 0; j < nCount; j++) {					
				SpoolerInfo	splInfo = (SpoolerInfo)mdlSpooler.getSelectedInfo(j);
				if (vecSelJobIds.contains(splInfo.getJobID())) {
					int idxSorted = sorter.viewIndex(j);
					Util.debugPrint("Refresh屻曐懚偟偨Job=" + splInfo.getJob() + " JobId=" + splInfo.getJobID() + " curRow=" + idxSorted);
					vecSelRows.add(new Integer(idxSorted));
				}
			}
			if (vecSelRows.size() > 0) {
				Util.debugPrint(" SpoolerUserPanel addSelectionInterval");
				Object[] selRows = vecSelRows.toArray();
				// 僜乕僩昁梫丠
				mdlSpoolerSelect.addSelectionInterval(((Integer)selRows[0]).intValue(), 
										((Integer)selRows[selRows.length - 1]).intValue());
			}
			// lium add end
		} catch (SpoolerException e) {
			throw new NetworkException(e.getMessage());
		}
		
		return true;	
	}
	
	protected void buildComponents() {
	    Page.initialize(net);
	    invoker = SpoolerInvoker.getInstance(net);
	    
	    createPopupMenu();
	
	    JPanel	panel = new JPanel();
	    panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
	    
	    vcSpoolerInfo = new Vector();
	    mdlSpooler = new SpoolerTableModel(admin, vcSpoolerInfo, loc.getLanguage());
	    sorter = new TableSorter(mdlSpooler);
	    tblSpooler = new JTable(sorter);
	    sorter.setTableHeader(tblSpooler.getTableHeader());
	    scrSpooler = new JScrollPane(tblSpooler);
	    tblSpooler.getTableHeader().setReorderingAllowed(false);
	    
	    TableColumn	column;
	    column = tblSpooler.getColumn(SpoolerTableModel.columnSIZE);
	    column.setPreferredWidth(30);
	    column = tblSpooler.getColumn(SpoolerTableModel.columnCOPY);
	    column.setPreferredWidth(30);
	    column = tblSpooler.getColumn(SpoolerTableModel.columnPAGE);
	    column.setPreferredWidth(30);
	    
	    panel.add(scrSpooler);
    
	    add(panel, BorderLayout.CENTER);

	    createButtonObject();

	    btnPrint.addActionListener(this);
///	    btnCancel.addActionListener(this);
	    btnDelete.addActionListener(this);
	    btnDetail.addActionListener(this);
	    btnRefresh.addActionListener(this);
	    
	    mdlSpoolerSelect = tblSpooler.getSelectionModel();
	    mdlSpoolerSelect.addListSelectionListener(this);
	    mdlSpoolerSelect.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION);
	    
	    setButtonState();
	    tblSpooler.setColumnSelectionAllowed(false);
	    
	    tblSpooler.addMouseListener(this);
	    
	    su = new SpoolerUtil(this, tblSpooler, sorter, mdlSpooler, invoker);
	}
	
	public void beginPanel() throws NetworkException, ServerException, TimeOutException {
		if (Util.getPreferenceInfo().getAuthType() != PreferenceInfo.AUTH_LOGIN) {
			beginPanel(new SPKeyInfo());
		} else {
			beginPanel(new UserInfo2());
		}
	}
	
	public void beginPanel(Object keyInfo) throws NetworkException, ServerException, TimeOutException {
		this.keyInfo = keyInfo;
///	    doRefresh();
	}
	
	public void finalize() {
		try {
			super.finalize();
		} catch (Throwable e) {
			;
		}
	}
	
	private void setButtonState() {
		if (tblSpooler.getSelectedRowCount() == 0) {
			btnPrint.setEnabled(false);
///			btnCancel.setEnabled(false);
			btnDelete.setEnabled(false);
			btnDetail.setEnabled(false);
		} else {
			boolean	bPrint = false/*, bCancel = false*/;
			
			boolean[]	ret = su.checkJobStatus();
			bPrint = ret[SpoolerUtil.CHECKJOBSTATUS_IDX_RET_PRINT];
///			bCancel = ret[SpoolerUtil.CHECKJOBSTATUS_IDX_RET_CANCEL];
			
///			btnPrint.setEnabled(bPrint);
///			btnCancel.setEnabled(bCancel);
			btnDelete.setEnabled(true);
			
			if (tblSpooler.getSelectedRowCount() > 1) {
				btnPrint.setEnabled(false);
				btnDetail.setEnabled(false);
			} else {
				btnPrint.setEnabled(bPrint);
				btnDetail.setEnabled(true);
			}
		}
	}
	
	protected void setPopupMenuState() {
		boolean	bPrint = false, bCancel = false;
		
		boolean[]	ret = su.checkJobStatus();
		bPrint = ret[SpoolerUtil.CHECKJOBSTATUS_IDX_RET_PRINT];
		bCancel = ret[SpoolerUtil.CHECKJOBSTATUS_IDX_RET_CANCEL];
		
		menuCancel.setEnabled(bCancel);
		menuDelete.setEnabled(true);

		if (tblSpooler.getSelectedRowCount() > 1) {
			menuPrint.setEnabled(false);
			menuDetail.setEnabled(false);
		} else {
			menuPrint.setEnabled(bPrint);
			menuDetail.setEnabled(true);
		}
	}
	
	protected boolean doRegister() throws NetworkException, ServerException, TimeOutException {
		return true;
	}
	
	protected boolean doModify() throws NetworkException, ServerException, TimeOutException {
		return true;
	}
	
	protected boolean doDelete() throws NetworkException, ServerException, TimeOutException {
		return true;
	}
	
	public boolean doRefresh() {
///		sendActionEvent(ACTCMD_REFRESH_SPOOLER);
		spl.doRefresh();
		return true;
	}
	
	public void doDetail() {
		SpoolerInfo	spoolerInfo;
		int	selRow = sorter.modelIndex(tblSpooler.getSelectedRow());
		if (selRow >= 0) {
			spoolerInfo = (SpoolerInfo)mdlSpooler.getSelectedInfo(selRow);
		
			JobDetailPanel	detailPanel = new JobDetailPanel(spoolerInfo, loc.getLanguage());
		
			DialogManager.showCustomDialog(parent, Resource.getString(Resource.TITLE_JOB_DETAIL), detailPanel);
		}
	}
	
	public int getInfosFromServer() {
		return GET_INFO_RESULT_NORMAL;
	}
	
/*	public void paint(Graphics g) {
		sendActionEvent(ACTCMD_REFRESH_SCREEN);
		super.paint(g);
	}*/
	
	public void actionPerformed(ActionEvent ae) {
		Object	obj = ae.getSource();
		
		try {
			Vector	queTypes = su.getQueTypes(que);
			if (obj == btnPrint || obj == menuPrint) {
				sendActionEvent(ActionEventConstants.ACTCMD_RESET_SESSION_TIMER);
				spl.setIgnoreGetSpoolerInfo();
				if (!su.doPrint(queTypes)) {
					DialogManager.showMessage(this, DialogManager.ERROR_PRINTING);
				} else {
					doRefresh();
				}
				spl.setExecGetSpoolerInfo();
/*			} else if (obj == btnCancel || obj == menuCancel) {
				spoolerThread.setSendEvent(false);
				if (!su.doCancel(queTypes)) {
					DialogManager.showMessage(this, DialogManager.ERROR_NETWORK);
				} else {
					doRefresh();
				}
				spoolerThread.setSendEvent(true);*/
			} else if (obj == btnDelete || obj == menuDelete) {
				sendActionEvent(ActionEventConstants.ACTCMD_RESET_SESSION_TIMER);
				if (DialogManager.showConfirmMessage(
						this,
						DialogManager.CONFIRM_DELETE,
						JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION) {
					spl.setIgnoreGetSpoolerInfo();
					if (!su.doDelete(queTypes)) {
						DialogManager.showMessage(this, DialogManager.ERROR_NETWORK);
					} else {
						doRefresh();
					}
					spl.setExecGetSpoolerInfo();
				}
			} else if (obj == btnDetail || obj == menuDetail) {
				sendActionEvent(ActionEventConstants.ACTCMD_RESET_SESSION_TIMER);
				doDetail();
			} else if (obj == btnRefresh) {
				sendActionEvent(ActionEventConstants.ACTCMD_RESET_SESSION_TIMER);
				spl.setIgnoreGetSpoolerInfo();
				doRefresh();
				spl.setExecGetSpoolerInfo();
			}
		} catch (NetworkException e) {
			DialogManager.showMessage(this, DialogManager.ERROR_NETWORK);
		} catch (ServerException e) {
			DialogManager.showMessage(this, DialogManager.ERROR_SERVER);
		} catch (TimeOutException e) {
		}
	}
	
	public void valueChanged(ListSelectionEvent e) {
		Object	obj = e.getSource();
		if (obj == mdlSpoolerSelect) {
			sendActionEvent(ActionEventConstants.ACTCMD_RESET_SESSION_TIMER);
			setButtonState();
		}
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久亚洲综合| 综合电影一区二区三区| 精品国产网站在线观看| 欧美精品一区二| 国产精品久久久久永久免费观看 | 99精品国产视频| 欧美系列一区二区| 欧美成va人片在线观看| 国产精品乱码人人做人人爱| 国产精品女主播av| 日本不卡一区二区三区| 国产精品一区二区三区乱码| 色综合色狠狠综合色| 精品免费国产一区二区三区四区| 亚洲国产精品传媒在线观看| 亚洲成人高清在线| 亚洲午夜一二三区视频| 成人中文字幕电影| 日韩一区二区三区观看| ㊣最新国产の精品bt伙计久久| 奇米精品一区二区三区在线观看 | 美国三级日本三级久久99 | 成人免费视频网站在线观看| 国产精品久久精品日日| 亚洲成人激情自拍| 91一区二区在线| 久久久综合精品| 免费黄网站欧美| 欧美性xxxxxx少妇| 国产精品久久久久久一区二区三区| 亚洲成人av电影在线| 成人a级免费电影| 26uuu精品一区二区三区四区在线| 一区二区欧美精品| 懂色一区二区三区免费观看| 欧美成人性战久久| 另类调教123区| 日本久久一区二区| 国产精品短视频| 国产成人综合自拍| 国产女同性恋一区二区| 激情欧美一区二区| 日韩三级av在线播放| 偷拍一区二区三区四区| 不卡视频在线看| 国产日韩精品视频一区| 国产福利一区二区| 国产日韩亚洲欧美综合| 国产精品一卡二卡在线观看| 欧美成人欧美edvon| 日本色综合中文字幕| 欧美日韩亚洲国产综合| 亚洲18女电影在线观看| 欧美亚洲一区三区| 五月天一区二区| 欧美天天综合网| 亚洲高清不卡在线| 91麻豆精品国产91久久久| 亚洲va天堂va国产va久| eeuss鲁片一区二区三区| ㊣最新国产の精品bt伙计久久| 9i在线看片成人免费| 国产精品久久久久9999吃药| 99视频精品免费视频| 国产伦理精品不卡| 国产欧美日本一区二区三区| 国产aⅴ精品一区二区三区色成熟| 久久久精品蜜桃| 国产成人超碰人人澡人人澡| 中文字幕在线观看一区| 色哟哟国产精品| 伊人婷婷欧美激情| 欧美精品乱人伦久久久久久| 麻豆精品一区二区| 中文字幕精品一区二区精品绿巨人| av不卡免费电影| 亚洲成人动漫一区| 91精品国产91热久久久做人人| 韩国av一区二区三区四区 | 精品国产一区二区三区忘忧草 | 久久在线观看免费| 99精品国产91久久久久久| 亚洲女人****多毛耸耸8| 欧美妇女性影城| 盗摄精品av一区二区三区| 亚洲乱码国产乱码精品精小说 | 国产露脸91国语对白| 亚洲视频图片小说| 欧美不卡一区二区三区| 91免费观看视频在线| 日韩中文字幕一区二区三区| 精品少妇一区二区三区日产乱码| 丁香网亚洲国际| 天天影视涩香欲综合网| 国产精品视频一二三| 欧美日韩三级视频| 成人综合日日夜夜| 欧美在线视频不卡| 国产精品91xxx| 五月开心婷婷久久| 国产精品美女www爽爽爽| 色婷婷av一区| 国产精品69久久久久水密桃| 亚洲国产精品久久久久婷婷884| 久久久久综合网| 欧美三级一区二区| k8久久久一区二区三区| 久久国产精品色婷婷| 亚洲一级二级在线| 国产精品的网站| 欧美另类高清zo欧美| 国产欧美日韩在线| 精品处破学生在线二十三| 日韩欧美中文一区| 日韩视频一区二区在线观看| 91精品国产免费久久综合| 欧美理论在线播放| 3d动漫精品啪啪1区2区免费| 91精品国产乱| 精品成人一区二区三区四区| 久久先锋影音av鲁色资源| 久久久综合精品| 国产精品人人做人人爽人人添| 国产精品三级电影| 亚洲欧美一区二区三区极速播放| 亚洲视频一区二区在线| 亚洲主播在线播放| 日本午夜精品一区二区三区电影| 男女男精品视频| 国产一区二区三区在线观看免费| 国产老女人精品毛片久久| 成人午夜视频免费看| 91丨porny丨蝌蚪视频| 欧美性感一区二区三区| 欧美一卡二卡三卡| 国产午夜精品一区二区三区嫩草| 国产欧美日韩在线看| 一区二区三区日韩在线观看| 午夜精品福利一区二区三区av | 国产精品天美传媒| 亚洲色图都市小说| 婷婷久久综合九色综合绿巨人| 奇米影视一区二区三区小说| 国产精品一区二区无线| 色综合久久久久久久久| 欧美日韩三级一区二区| 久久精品水蜜桃av综合天堂| 亚洲三级电影网站| 蜜臀91精品一区二区三区| 成人免费视频一区二区| 欧美男生操女生| 亚洲国产高清在线| 日韩精品乱码av一区二区| 成人理论电影网| 91精品国产一区二区三区香蕉| 久久久久久99精品| 一区二区三区不卡视频| 麻豆91精品91久久久的内涵| 91欧美激情一区二区三区成人| 在线综合视频播放| 中文字幕av一区二区三区高| 亚洲va欧美va人人爽午夜| 丁香亚洲综合激情啪啪综合| 91精品在线一区二区| 国产精品乱子久久久久| 日本 国产 欧美色综合| 色综合久久天天| 久久久久久久综合色一本| 午夜精品在线看| 91在线观看美女| 2023国产一二三区日本精品2022| 一区二区理论电影在线观看| 国产一区二区三区免费| 欧美日韩国产免费| 国产精品成人免费| 九九精品视频在线看| 欧美人体做爰大胆视频| 亚洲精品伦理在线| 成人短视频下载| 国产欧美一区二区精品性色超碰| 婷婷中文字幕一区三区| 欧美在线观看视频在线| 综合av第一页| 国产成人av网站| 欧美精品一区视频| 精品一区在线看| 欧美一卡二卡三卡| 日韩成人精品视频| 欧美另类变人与禽xxxxx| 亚洲成a天堂v人片| 欧美最猛性xxxxx直播| 亚洲欧美国产毛片在线| 99精品一区二区| 国产精品久久久久一区| 福利电影一区二区三区| www精品美女久久久tv| 精品中文av资源站在线观看| 精品日韩欧美一区二区| 精品制服美女丁香| 国产午夜亚洲精品不卡|