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

📄 spstoolframe.java

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

import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ComponentEvent;
import java.awt.event.ComponentListener;
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.Properties;

import javax.swing.JCheckBoxMenuItem;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JRadioButtonMenuItem;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
import javax.xml.parsers.ParserConfigurationException;

import org.xml.sax.SAXException;

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.AboutPanel;
import jp.co.ntl.swing.ext.DialogManager;
import jp.co.ntl.swing.ext.ImageInfo;

public class SPSToolFrame extends JFrame implements ActionListener, ComponentListener {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	private static final int				WIDTH	= 1000;
	private static final int				HEIGHT	= 700;
	
	private JMenuItem						menuItemPref;
	private JMenuItem						menuItemExit;
	private JMenuItem						menuItemAbout;
	private JRadioButtonMenuItem			menuItemGoSpooler;
	private JRadioButtonMenuItem			menuItemGoUser;
	private JRadioButtonMenuItem			menuItemGoPrinter;
	private JRadioButtonMenuItem			menuItemGoTerminal;
	private JRadioButtonMenuItem			menuItemGoHistory;
	private JCheckBoxMenuItem				menuItemJA;
	private JCheckBoxMenuItem				menuItemEN;
	private SPSToolPanel					spsPanel = null;
	private SPSToolFrame					frame = null;
///	private ButtonGroup					menuItemGoGroup;
	
/*	static {
		System.loadLibrary("SPSJNI");
	}*/
	
	public SPSToolFrame() {
		super();

		PreferenceInfo	prefInfo = new PreferenceInfo();
		try {
			prefInfo.readXml();
		} catch (ParserConfigurationException e) {
			JOptionPane.showMessageDialog(this, e.toString());
			System.exit(0);
		} catch (SAXException e) {
			JOptionPane.showMessageDialog(this, e.toString());
			System.exit(0);
		} catch (FileNotFoundException e) {
			JOptionPane.showMessageDialog(this, e.toString());
			System.exit(0);
		} catch (IOException e) {
			JOptionPane.showMessageDialog(this, e.toString());
			System.exit(0);
		}

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

		Resource.load(Util.getCurrentLocale());
		
/*		// 擇廳婲摦偐僠僃僢僋
		if (SPSJNI.isAlreadyStartup(Resource.getString(Resource.TITLE_ADMIN))) {
			System.exit(0);
		}
*/		
		try {
			UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
		} catch (ClassNotFoundException e) {
		} catch (IllegalAccessException e) {
		} catch (InstantiationException e) {
		} catch (UnsupportedLookAndFeelException e) {
		}
		
		if (Util.getPreferenceInfo().isDebug()) {
			String usr_paths = System.getProperty("java.library.path", "");
			Util.debugPrint("Library path = " + usr_paths);
			
			Properties	prop = System.getProperties();
			prop.list(System.out);
		}
		
		// 僉乕擖椡丄儅僂僗娔帇僾儘僌儔儉婲摦
/*		if (Util.getPreferenceInfo().getAuthType() == PreferenceInfo.AUTH_LOGIN) {
			SPSJNI.startSPSHook();
		}
*/		
		Image	icon = ImageInfo.getImage(ImageInfo.ICON_ADMIN_TOOL);
		setIconImage(icon);
		
		this.frame = this;

		setTitle(Resource.getString(Resource.TITLE_ADMIN));
		setSize(WIDTH, HEIGHT);
		
		Container	cont = getContentPane();
		cont.setLayout(new BorderLayout());
		
		setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
			
		addMenu();
		
		this.spsPanel = new SPSToolPanel(this, SPSToolPanel.ADMIN);
		cont.add(this.spsPanel, BorderLayout.CENTER);

///		pack();
			
        Dimension screenSize = getToolkit().getScreenSize();
        setBounds((screenSize.width - getWidth()) / 2, 
                    (screenSize.height - getHeight()) / 2, 
                    getWidth(), 
                    getHeight());
        
        setVisible(true);
			
        addComponentListener(this);
        
		MyWindowAdapter wa = new MyWindowAdapter();
		addWindowListener(wa);
	}
	
	private void addMenu() {
		JMenuBar	menuBar = new JMenuBar();
		JMenu		menuFile = new JMenu(Resource.getString(Resource.MENU_FILE));
			
		menuFile.setMnemonic(KeyEvent.VK_F);
		menuBar.add(menuFile);
		
/*		JMenu		menuLanguage = new JMenu(Resource.getString(Resource.MENU_FILE_LANGUAGE));
		menuLanguage.setMnemonic(KeyEvent.VK_L);
		menuFile.add(menuLanguage);
		menuItemJA = new JCheckBoxMenuItem(Resource.getString(Resource.MENU_FILE_LANGUAGE_JA), true);
		menuLanguage.add(menuItemJA);
		menuItemEN = new JCheckBoxMenuItem(Resource.getString(Resource.MENU_FILE_LANGUAGE_EN), false);
		menuLanguage.add(menuItemEN);*/
		
		menuItemPref = new JMenuItem(Resource.getString(Resource.MENU_FILE_PREF), KeyEvent.VK_S);
		menuFile.add(menuItemPref);
		menuItemExit = new JMenuItem(Resource.getString(Resource.MENU_FILE_EXIT), KeyEvent.VK_X);
		menuFile.add(menuItemExit);
		
///		menuItemGoGroup = new ButtonGroup();
		
/*		JMenu		menuGo = new JMenu(Resource.getString(Resource.MENU_GO));
		menuGo.setMnemonic(KeyEvent.VK_G);
		menuBar.add(menuGo);
		menuItemGoSpooler = new JRadioButtonMenuItem(Resource.getString(Resource.MENU_GO_SPOOLER), true);
		menuGo.add(menuItemGoSpooler);
		menuItemGoGroup.add(menuItemGoSpooler);
		menuItemGoSpooler.setMnemonic(KeyEvent.VK_J);
		menuItemGoUser = new JRadioButtonMenuItem(Resource.getString(Resource.MENU_GO_USER), false);
		menuGo.add(menuItemGoUser);
		menuItemGoGroup.add(menuItemGoUser);
		menuItemGoUser.setMnemonic(KeyEvent.VK_U);
		menuItemGoTerminal = new JRadioButtonMenuItem(Resource.getString(Resource.MENU_GO_TERMINAL), false);
		menuGo.add(menuItemGoTerminal);
		menuItemGoGroup.add(menuItemGoTerminal);
		menuItemGoTerminal.setMnemonic(KeyEvent.VK_T);
		menuItemGoPrinter = new JRadioButtonMenuItem(Resource.getString(Resource.MENU_GO_PRINTER), false);
		menuGo.add(menuItemGoPrinter);
		menuItemGoGroup.add(menuItemGoPrinter);
		menuItemGoPrinter.setMnemonic(KeyEvent.VK_P);
		menuItemGoHistory = new JRadioButtonMenuItem(Resource.getString(Resource.MENU_GO_HISTORY), false);
		menuGo.add(menuItemGoHistory);
		menuItemGoGroup.add(menuItemGoHistory);
		menuItemGoHistory.setMnemonic(KeyEvent.VK_H);*/
		
		JMenu		menuHelp = new JMenu(Resource.getString(Resource.MENU_HELP));
		menuHelp.setMnemonic(KeyEvent.VK_H);
		menuBar.add(menuHelp);
		menuItemAbout = new JMenuItem(Resource.getString(Resource.MENU_HELP_ABOUT), KeyEvent.VK_A);
		menuHelp.add(menuItemAbout);
		
		menuItemPref.addActionListener(this);
		menuItemExit.addActionListener(this);
		menuItemAbout.addActionListener(this);
///		menuItemJA.addActionListener(this);
///		menuItemEN.addActionListener(this);
/*		menuItemGoSpooler.addActionListener(this);
		menuItemGoUser.addActionListener(this);
		menuItemGoTerminal.addActionListener(this);
		menuItemGoPrinter.addActionListener(this);
		menuItemGoHistory.addActionListener(this);*/
			
		setJMenuBar(menuBar);
	}
	
	public JRadioButtonMenuItem getGoMenuItemObject(int kind) {
		switch (kind) {
		case SPSAdminUserPanel.IDX_SPOOLER:
			return menuItemGoSpooler;
		case SPSAdminUserPanel.IDX_USERMAN:
			return menuItemGoUser;
		case SPSAdminUserPanel.IDX_TERMINAL:
			return menuItemGoTerminal;
		case SPSAdminUserPanel.IDX_PRINTERMAN:
			return menuItemGoPrinter;
		case SPSAdminUserPanel.IDX_HISTORY:
			return menuItemGoHistory;
		}
		return null;
	}
	
    private void exitApp() {
/*    	if (Util.getPreferenceInfo().getAuthType() == PreferenceInfo.AUTH_LOGIN) {
    		SPSJNI.stopSPSHook();
    	}
*/		System.exit(0);    	
    }
		
	public void actionPerformed(ActionEvent e) {
		Object	obj = e.getSource();
		if (obj == menuItemPref) {
			DialogManager.doOpenServerInfoDlg(this);
		} else if (obj == menuItemExit) {
			if (DialogManager.showConfirmMessage(
					this,
					DialogManager.CONFIRM_EXIT,
					JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION) {
				exitApp();
			}
		} else if (obj == menuItemAbout) {
			AboutPanel	p = new AboutPanel();
			DialogManager.showCustomDialog(this, Resource.getString(Resource.TITLE_ABOUT), p);
		} else if (obj == menuItemJA) {
			menuItemEN.setState(false);
		} else if (obj == menuItemEN) {
			menuItemJA.setState(false);
		} else if (obj == menuItemGoSpooler) {
			spsPanel.getAdminUserPanelObject().showPanel(
					SPSAdminUserPanel.IDX_SPOOLER,
					spsPanel.getAdminUserPanelObject().getPanelObject(SPSAdminUserPanel.IDX_SPOOLER));
		} else if (obj == menuItemGoUser) {
			spsPanel.getAdminUserPanelObject().showPanel(
					SPSAdminUserPanel.IDX_USERMAN,
					spsPanel.getAdminUserPanelObject().getPanelObject(SPSAdminUserPanel.IDX_USERMAN));
		} else if (obj == menuItemGoTerminal) {
			spsPanel.getAdminUserPanelObject().showPanel(
					SPSAdminUserPanel.IDX_TERMINAL,
					spsPanel.getAdminUserPanelObject().getPanelObject(SPSAdminUserPanel.IDX_TERMINAL));
		} else if (obj == menuItemGoPrinter) {
			spsPanel.getAdminUserPanelObject().showPanel(
					SPSAdminUserPanel.IDX_PRINTERMAN,
					spsPanel.getAdminUserPanelObject().getPanelObject(SPSAdminUserPanel.IDX_PRINTERMAN));
		} else if (obj == menuItemGoHistory) {
			spsPanel.getAdminUserPanelObject().showPanel(
					SPSAdminUserPanel.IDX_HISTORY,
					spsPanel.getAdminUserPanelObject().getPanelObject(SPSAdminUserPanel.IDX_HISTORY));
		}
	}
	
	public void componentHidden(ComponentEvent ce) {
	}
	
	public void componentMoved(ComponentEvent ce) {
	}
	
	public void componentResized(ComponentEvent ce) {
		Dimension	d = getSize();
		if (d.width < WIDTH) {
			d.width = WIDTH;
		}
		if (d.height < HEIGHT) {
			d.height = HEIGHT;
		}
		setSize(d);
	}
	
	public void componentShown(ComponentEvent ce) {
	}
	
	private class MyWindowAdapter extends WindowAdapter {
		public void windowClosing(WindowEvent e) {
			if (DialogManager.showConfirmMessage(
					frame,
					DialogManager.CONFIRM_EXIT,
					JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION) {
				exitApp();
			}
		}
	}
}

⌨️ 快捷键说明

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