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

📄 printauthtoolframe.java

📁 打印管理程序,测试完全通过.windows开发环境.
💻 JAVA
字号:
package jp.co.ntl.swing.ext.printauth;

import java.awt.Container;
import java.awt.DisplayMode;
import java.awt.Graphics;
import java.awt.GraphicsDevice;
import java.awt.KeyboardFocusManager;
import java.awt.Rectangle;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Collections;

import javax.swing.JOptionPane;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
import javax.xml.parsers.ParserConfigurationException;

import org.xml.sax.SAXException;

import jp.co.ntl.ActionEventConstants;
import jp.co.ntl.Util;
import jp.co.ntl.ext.GlobalContext;
import jp.co.ntl.ext.SPSJNI;
import jp.co.ntl.preference.PreferenceInfo;
import jp.co.ntl.swing.ext.FullScreenFrame;
import jp.co.ntl.swing.ext.ImageInfo;
import jp.co.ntl.swing.ext.ImagePanel;

public class PrintAuthToolFrame extends FullScreenFrame implements ActionListener {
	private static final long	serialVersionUID 	= 1L;
	
	public	static	final int		WIDTH				= 1024;
	public	static	final int		HEIGHT				= 768;
	
	private ImagePanel				pnlBackground;
	private PrintAuthToolPanel		spsPanel;

/*	static {
		System.loadLibrary("SPSJNI");
	}*/
	
	public PrintAuthToolFrame(GraphicsDevice device, DisplayMode[] defaultMode) {
		super(device, defaultMode);
		
		PreferenceInfo	prefInfo = new PreferenceInfo();
		try {
			prefInfo.readXml();
		} catch (ParserConfigurationException e) {
			JOptionPane.showMessageDialog(null, e.toString());
			System.exit(0);
		} catch (SAXException e) {
			JOptionPane.showMessageDialog(null, e.toString());
			System.exit(0);
		} catch (FileNotFoundException e) {
			JOptionPane.showMessageDialog(null, e.toString());
			System.exit(0);
		} catch (IOException e) {
			JOptionPane.showMessageDialog(null, e.toString());
			System.exit(0);
		}

		GlobalContext.getInstance().setPreferenceInfo(prefInfo);
		GlobalContext.getInstance().setAppName(GlobalContext.APP_NAME_PRINTAUTH);

		Resource.load(Util.getCurrentLocale());
		
/*		// 擇廳婲摦偐僠僃僢僋
		if (SPSJNI.isAlreadyStartup(Resource.getString(Resource.TITLE_USER))) {
			System.exit(0);
		}
*/		
		if (Util.getPreferenceInfo().isDebug()) {
			UIManager.LookAndFeelInfo[]	lfi = UIManager.getInstalledLookAndFeels();
			for (int i = 0; i < lfi.length; i++) {
				Util.debugPrint("Look and feel : " + lfi[i].toString());
			}
		}

		setFocusTraversalKeys(KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, Collections.EMPTY_SET);
		setFocusTraversalKeys(KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, Collections.EMPTY_SET);

		try {
			if (Util.getPreferenceInfo().getClientKind() == PreferenceInfo.CLIENT_MAC) {
				UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
			} else {
				UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel");
			}
			UIManager.put("ScrollBarUI", "jp.co.ntl.swing.ext.SPSScrollBarUI");
			UIManager.put("TableHeaderUI", "jp.co.ntl.swing.ext.SPSTableHeaderUI");
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
			System.exit(-1);
		} catch (IllegalAccessException e) {
			e.printStackTrace();
			System.exit(-1);
		} catch (InstantiationException e) {
			e.printStackTrace();
			System.exit(-1);
		} catch (UnsupportedLookAndFeelException e) {
			e.printStackTrace();
			System.exit(-1);
		}
		
		// 僉乕擖椡丄儅僂僗娔帇僾儘僌儔儉婲摦
/*		if (Util.getPreferenceInfo().getAuthType() == PreferenceInfo.AUTH_LOGIN) {
			SPSJNI.startSPSHook();
		}
*/		
		setTitle(Resource.getString(Resource.TITLE_USER));
		setSize(WIDTH, HEIGHT);
		pnlBackground = new ImagePanel(ImageInfo.getImage(ImageInfo.BACKGROUND));
		Container	cont = getContentPane();
		pnlBackground.setLayout(null);
		pnlBackground.setBounds(0, 0, WIDTH, HEIGHT);
		cont.add(pnlBackground);
		
		spsPanel = new PrintAuthToolPanel(this, PrintAuthToolPanel.USER, pnlBackground);	
		// 2007.10.22 lium 暋悢僾儕儞僞懳墳 mod start
//		spsPanel.setBounds(39, 198, PrintAuthToolPanel.WIDTH, PrintAuthToolPanel.HEIGHT);
		spsPanel.setBounds(39, 0,   PrintAuthToolPanel.WIDTH, PrintAuthToolPanel.BODY_HEIGHT + PrintAuthToolPanel.HEIGHT);
		// 2007.10.22 lium 暋悢僾儕儞僞懳墳 mod end		spsPanel.addActionListener(this);
		pnlBackground.add(spsPanel);

		if (isFullScreenSupported()) {
			setLocation(0, 0);
		} else {
			Rectangle	r = getGraphicsConfiguration().getBounds();
			setLocation((r.width - WIDTH) / 2, (r.height - HEIGHT) / 2);
		}

		setVisible(true);
		
		repaintFullScreen();
		
		requestFocus();

		MyKeyAdapter		ka = new MyKeyAdapter();
		addKeyListener(ka);
		
		MyWindowAdapter		wa = new MyWindowAdapter();
		addWindowListener(wa);
	}
	
    public void paintFullScreen(Graphics g){
   		pnlBackground.paintAll(g);
    }
    
    private void exitApp() {
/*    	if (Util.getPreferenceInfo().getAuthType() == PreferenceInfo.AUTH_LOGIN) {
    		SPSJNI.stopSPSHook();
    	}
*/		closeFullScreen();
		System.exit(0);    	
    }
	
	private class MyKeyAdapter extends KeyAdapter {
		public void keyPressed(KeyEvent e) {
			switch (e.getKeyCode()) {
			case KeyEvent.VK_TAB:
				CheckLoginUserPanel	p = (CheckLoginUserPanel)spsPanel.getCheckLoginUserPanel();
				if (p != null) {
					p.setKeyboardFocus();
				}
				break;
			case KeyEvent.VK_ESCAPE:
				exitApp();
				break;
			}
		}
	}
	
	private class MyWindowAdapter extends WindowAdapter {
		public void windowClosing(WindowEvent e) {
			exitApp();
		}
	}
	
	public void actionPerformed(ActionEvent ae) {
		Object	obj = ae.getSource();
		if (obj == spsPanel) {
			String	command = ae.getActionCommand();
			if (command.equals(ActionEventConstants.ACTCMD_REFRESH_SCREEN)) {
				repaintFullScreen();
			} else if (command.equals(ActionEventConstants.ACTCMD_EXIT)) {
				closeFullScreen();
				System.exit(0);
			}
		}
	}
}

⌨️ 快捷键说明

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