?? spstoolframe.java
字號(hào):
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();
}
}
}
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -