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

📄 terminalinfopanel.java

📁 打印管理程序,测试完全通过.windows开发环境.
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
package jp.co.ntl.swing.ext.terminal;

import java.awt.Component;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Vector;

import javax.swing.JButton;
//import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.ListSelectionModel;
import javax.swing.Spring;
import javax.swing.JTextField;
import javax.swing.SpringLayout;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import javax.swing.table.TableColumn;

import jp.co.ntl.ext.CheckUtil;
import jp.co.ntl.terminal.TerminalInfo;
import jp.co.ntl.printer.PrinterInfo2;
import jp.co.ntl.preference.PreferenceInfo;
import jp.co.ntl.swing.TableSorter;
import jp.co.ntl.swing.ext.DialogManager;
import jp.co.ntl.swing.ext.AbstractDetailInfoPanel;

public class TerminalInfoPanel extends AbstractDetailInfoPanel implements ActionListener, ListSelectionListener {
	/**
	 * 
	 */
	private static final long	serialVersionUID	= 1L;

	private JLabel					lblTerminal;
	private JTextField				txtTerminal;
	private JLabel					lblTerminalAddr;
	private JTextField				txtTerminalAddr;
	private JLabel					lblTerminalHost;
	private JTextField				txtTerminalHost;
	private JLabel					lblPrinter;
//	private JComboBox				cmbPrinter;
/*	private JTable					tblRegPrinter;
	private TerminalInfoTableModel	mdlRegPrinter;
	private ListSelectionModel		mdlRegPrinterSelect;
	private TableSorter			sorterRegPrinter;
	private JScrollPane			scrRegPrinter;
	private JLabel					lblPrinter;
	private JTable					tblPrinter;
	private TableSorter			sorterPrinter;
	private TerminalInfoTableModel	mdlPrinter;
	private ListSelectionModel		mdlPrinterSelect;
	private JScrollPane			scrPrinter;
	private JButton				btnAdd;
	private JButton				btnDelete;*/

	private TerminalInfo		terminalInfo;
	private Vector				vcTerminalInfo;
	private Vector				vcPrinterInfo;
///	private Vector				vcRelatedPrinterInfo;
///	private Vector				vcInstalledPrinterInfo;
	
	// 2007.10.22 lium 暋悢僾儕儞僞懳墳 add start
	private static final int		TABLE_HEIGHT = 86;
	private static final int		TABLE_COL1_WIDTH = 30;
	
	private JTable					tblTerminalInfo;
	private TerminalInfoTableModel	mdlTerminalInfo;
	private ListSelectionModel		mdlTerminalInfoSelect;
	private JScrollPane				scrTerminalInfo;
	private TableSorter				sorter;
	
	private JLabel					lblPrinterDumy;
	// 2007.10.22 lium 暋悢僾儕儞僞懳墳 add end
	
	public TerminalInfoPanel(boolean modify, TerminalInfo terminalInfo, Vector vcTerminalInfo, Vector vcPrinterInfo) {
		super(modify, new Object[] { terminalInfo, vcTerminalInfo, vcPrinterInfo });
	}
	
	protected void setParams(Object[] params) {
		this.terminalInfo = (TerminalInfo)params[0];
		this.vcTerminalInfo = (Vector)params[1];
///		this.vcPrinterInfo = new Vector();
		this.vcPrinterInfo = (Vector)params[2];
///		this.vcRelatedPrinterInfo = new Vector();
///		this.vcInstalledPrinterInfo = vcPrinterInfo;
	}
	
	protected void buildComponents() {
		// 2007.10.22 lium 暋悢僾儕儞僞懳墳 mod start
		setLayout(new SpringLayout());

		lblTerminal = new JLabel(Resource.getString(Resource.TERMINALINFO_TERMINAL));
		add(lblTerminal);
		
		txtTerminal = new JTextField();
		txtTerminal.setPreferredSize(new Dimension(250, 24));
		add(txtTerminal);
		
		lblTerminalAddr = new JLabel(Resource.getString(Resource.TERMINALINFO_TERMINAL_ADDR));
		add(lblTerminalAddr);
		
		txtTerminalAddr = new JTextField();
		txtTerminalAddr.setPreferredSize(new Dimension(250, 24));
		add(txtTerminalAddr);
		
		lblTerminalHost = new JLabel(Resource.getString(Resource.TERMINALINFO_TERMINAL_HOST));
		add(lblTerminalHost);
		
		txtTerminalHost = new JTextField();
		txtTerminalHost.setPreferredSize(new Dimension(250, 24));
		add(txtTerminalHost);

		lblPrinter = new JLabel(Resource.getString(Resource.TERMINALINFO_PRINTER));
		add(lblPrinter);
		
		lblPrinterDumy = new JLabel("");
		lblPrinterDumy.setPreferredSize(new Dimension(250, 24));
		add(lblPrinterDumy);
		
//		String[]	txt = new String[vcPrinterInfo.size()];
//		for (int i = 0; i < vcPrinterInfo.size(); i++) {
//			PrinterInfo2	printerInfo = (PrinterInfo2)vcPrinterInfo.elementAt(i);
//			txt[i] = printerInfo.getName();
//		}
//		cmbPrinter = new JComboBox(txt);
//		add(cmbPrinter);
		
//		tblTerminalInfo   =   new   JTable(new   TerminalInfoTableModel());   
//		tblTerminalInfo.setCellSelectionEnabled(true);   
//        JScrollPane   pane   =   new   JScrollPane(tblTerminalInfo);   
//        add(pane);
	    mdlTerminalInfo = new TerminalInfoTableModel(vcTerminalInfo);
	    sorter = new TableSorter(mdlTerminalInfo);
	    tblTerminalInfo = new JTable(sorter);
	    sorter.setTableHeader(tblTerminalInfo.getTableHeader());
	    scrTerminalInfo = new JScrollPane(tblTerminalInfo);
	    
	    tblTerminalInfo.getTableHeader().setReorderingAllowed(false);
	    tblTerminalInfo.setColumnSelectionAllowed(false);
	    
	    TableColumn column = tblTerminalInfo.getColumnModel().getColumn(0);
	    column.setMaxWidth(TABLE_COL1_WIDTH);
	    column.setMinWidth(TABLE_COL1_WIDTH);
	    column.setPreferredWidth(TABLE_COL1_WIDTH);

	    mdlTerminalInfoSelect = tblTerminalInfo.getSelectionModel();
	    mdlTerminalInfoSelect.addListSelectionListener(this);
	    mdlTerminalInfoSelect.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

	    add(scrTerminalInfo);
	    this.makeCompactGrid(this, (getComponentCount()-1) / 2, 2, 10, 10, 10, 10);
	    
//	    TableColumn column = tblTerminalInfo.getColumnModel().getColumn(0);
//	    column.setPreferredWidth(5);
		// 2007.10.22 lium 暋悢僾儕儞僞懳墳 mod end
		
/*		JLabel	lblDummy = new JLabel("");
		add(lblDummy);
		
		JPanel	p = new JPanel();
		p.setLayout(new SpringLayout());
		
		Dimension	size = new Dimension(200, 200);

		lblPrinter = new JLabel(Resource.getString(Resource.TERMINALINFO_PRINTER));
		p.add(lblPrinter);
		
		JLabel	lblDummy2 = new JLabel("");
		p.add(lblDummy2);
		
		JLabel	lblDummy3 = new JLabel("");
		p.add(lblDummy3);
		
		lblRegPrinter = new JLabel(Resource.getString(Resource.TERMINALINFO_REGPRINTER));
		p.add(lblRegPrinter);		
		
		for (int i = 0; i < terminalInfo.getRelatedPrinters().size(); i++) {
			this.vcRelatedPrinterInfo.addElement(terminalInfo.getRelatedPrinters().elementAt(i));
		}
		mdlPrinter = new TerminalInfoTableModel(this.vcRelatedPrinterInfo);
		sorterPrinter = new TableSorter(mdlPrinter);
		tblPrinter = new JTable(sorterPrinter);
		sorterPrinter.setTableHeader(tblPrinter.getTableHeader());
		scrPrinter = new JScrollPane(tblPrinter);
		scrPrinter.setMinimumSize(size);
		scrPrinter.setMaximumSize(size);
		scrPrinter.setPreferredSize(size);		
		p.add(scrPrinter);
		
		btnAdd = new JButton(Resource.getString(Resource.ADD_PRINTER));
		p.add(btnAdd);
		
		btnDelete = new JButton(Resource.getString(Resource.DEL_PRINTER));
		p.add(btnDelete);
		
		mdlRegPrinter = new TerminalInfoTableModel(this.vcPrinterInfo);
		sorterRegPrinter = new TableSorter(mdlRegPrinter);
		tblRegPrinter = new JTable(sorterRegPrinter);
		sorterRegPrinter.setTableHeader(tblRegPrinter.getTableHeader());
		scrRegPrinter = new JScrollPane(tblRegPrinter);
		scrRegPrinter.setMinimumSize(size);
		scrRegPrinter.setMaximumSize(size);
		scrRegPrinter.setPreferredSize(size);		
		p.add(scrRegPrinter);

		add(p);
		
		SpringUtilities.makeCompactGrid(p, 2, p.getComponentCount() / 2, 10, 10, 10, 10);*/
		
	    // 2007.10.22 lium 暋悢僾儕儞僞懳墳 del start start
		// SpringUtilities.makeCompactGrid(this, getComponentCount() / 2, 2, 10, 10, 10, 10);
		// 2007.10.22 lium 暋悢僾儕儞僞懳墳 del start end
		
/*		btnAdd.addActionListener(this);
		btnDelete.addActionListener(this);
		
		mdlPrinterSelect = tblPrinter.getSelectionModel();
		mdlPrinterSelect.addListSelectionListener(this);
		
		mdlRegPrinterSelect = tblRegPrinter.getSelectionModel();
		mdlRegPrinterSelect.addListSelectionListener(this);
		
		tblPrinter.setColumnSelectionAllowed(false);
		tblRegPrinter.setColumnSelectionAllowed(false);*/
	}
	
	protected void setValuesToComponent() {
		preValue = terminalInfo.getTerminalName();
		txtTerminal.setText(terminalInfo.getTerminalName());
		txtTerminalAddr.setText(terminalInfo.getTerminalAddr());
		txtTerminalHost.setText(terminalInfo.getTerminalHost());
		
		// 2007.10.22 lium 暋悢僾儕儞僞懳墳 mod start
		//cmbPrinter.setSelectedItem(terminalInfo.getRelatedPrinterInfo().getName());
		mdlTerminalInfo.refreshInfos(vcPrinterInfo);
		
		Vector vcTermPrinters = terminalInfo.getRelatedPrinters();
		for (int i = 0; i < vcPrinterInfo.size(); i ++) {
			PrinterInfo2 insPrinterInfo2 = (PrinterInfo2)vcPrinterInfo.get(i);
			boolean		found = false;
			
			for (int j = 0; j < vcTermPrinters.size(); j ++) {
				PrinterInfo2 termPrinterInfo2 = (PrinterInfo2)vcTermPrinters.get(j);
				if (termPrinterInfo2.getPrinterID() == insPrinterInfo2.getPrinterID()) {
					found = true;
					break;
				}
			}			
			mdlTerminalInfo.setCheckBox(i, found);
		}
		// 2007.10.22 lium 暋悢僾儕儞僞懳墳 mod end
		
/*		mdlPrinter.deleteAllPrinterInfos();
		PrinterInfo2[]	printerInfos = new PrinterInfo2[terminalInfo.getRelatedPrinters().size()];
		for (int i = 0; i < terminalInfo.getRelatedPrinters().size(); i++) {
			printerInfos[i] = (PrinterInfo2)terminalInfo.getRelatedPrinters().elementAt(i);
		}
		mdlPrinter.addPrinterInfos(printerInfos);		
		
		mdlRegPrinter.deleteAllPrinterInfos();
		Vector		vcRegPrinterInfo = new Vector();
		
		for (int i = 0; i < vcInstalledPrinterInfo.size(); i++) {
			PrinterInfo2	printerInfo = (PrinterInfo2)vcInstalledPrinterInfo.elementAt(i);
			boolean		found = false;
			for (int k = 0; k < terminalInfo.getRelatedPrinters().size(); k++) {
				PrinterInfo2	relPrinterInfo = (PrinterInfo2)terminalInfo.getRelatedPrinters().elementAt(k);
				if (relPrinterInfo.getPrinterID() == printerInfo.getPrinterID()) {
					found = true;
					break;
				}
			}
			
			if (!found) {
				vcRegPrinterInfo.addElement(printerInfo);
			}
		}
		
		printerInfos = new PrinterInfo2[vcRegPrinterInfo.size()]; 
		for (int i = 0; i < vcRegPrinterInfo.size(); i++) {
			printerInfos[i] = (PrinterInfo2)vcRegPrinterInfo.elementAt(i);
		}
		mdlRegPrinter.addPrinterInfos(printerInfos);*/
		
		setButtonState();
	}
	

⌨️ 快捷键说明

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