📄 printauthtoolframe.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 + -