📄 jtermfrm.java~2~
字号:
package JTerm;
import java.awt.*;
import java.awt.event.*;
//import com.borland.dbswing.FontChooser;
import javax.swing.*;
import java.net.*;
import java.io.*;
import java.util.ResourceBundle;
/**
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Company: </p>
* @author not attributable
* @version 1.0
*/
public class JTermFrm
extends JFrame {
static ResourceBundle res = ResourceBundle.getBundle("JTerm.Res");
static java.util.Properties properties = System.getProperties();
JPanel contentPane;
JTermBoard Board = new JTermBoard();
JMenuBar jMenuBar1 = new JMenuBar();
JMenu jMenu1 = new JMenu();
JMenuItem AddrBook = new JMenuItem();
JMenuItem QuickStart = new JMenuItem();
JMenuItem Exit = new JMenuItem();
String hostname;
int hostport;
JMenu jMenu2 = new JMenu();
JMenuItem jMenuItem4 = new JMenuItem();
JMenuItem jMenuItem5 = new JMenuItem();
JMenu jMenu3 = new JMenu();
JMenuItem jMenuItem7 = new JMenuItem();
JPopupMenu PopMenu = new JPopupMenu();
JMenuItem CopyMenu = new JMenuItem();
JMenuItem PasteMenu = new JMenuItem();
JMenuItem SelectAllMenu = new JMenuItem();
// XYLayout xYLayout1 = new XYLayout();
JMenuItem jMenuItem11 = new JMenuItem();
ImageIcon imageapp = new ImageIcon(res.getString("App_Icon"));
ImageIcon imagering = new ImageIcon(res.getString("Ring_Icon")); ;
JMenu jMenu5 = new JMenu();
JMenuItem jMenuItem8 = new JMenuItem();
JMenu jMenu6 = new JMenu();
JMenuItem jMenuItem9 = new JMenuItem();
JMenuItem jMenuItem10 = new JMenuItem();
JMenuItem jMenuItem12 = new JMenuItem();
JMenuItem jMenuItem13 = new JMenuItem();
JMenuItem jMenuItem14 = new JMenuItem();
JMenuItem jMenuItem16 = new JMenuItem();
JMenuItem QuickLeave = new JMenuItem();
JMenuItem SystemMenu = new JMenuItem();
JMenuItem InputMenu = new JMenuItem();
JMenuItem ColorMenu = new JMenuItem();
JMenuItem FontMenu = new JMenuItem();
BorderLayout borderLayout1 = new BorderLayout();
JToolBar jToolBar1 = new JToolBar();
JButton jButton1 = new JButton();
JButton jButton2 = new JButton();
JButton jButton3 = new JButton();
JButton jButton4 = new JButton();
JButton jButton5 = new JButton();
JButton jButton6 = new JButton();
JButton jButton7 = new JButton();
JButton jButton8 = new JButton();
JButton jButton9 = new JButton();
JButton jButton10 = new JButton();
JButton jButton11 = new JButton();
public JTermFrm() {
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
try {
jbInit();
}
catch (Exception e) {
e.printStackTrace();
}
}
private void AdjustSize(Dimension dim) {
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
this.setSize(dim.width, dim.height + 40);
this.getContentPane().setSize(dim.width,dim.height+40);
this.validate();
this.setLocation((screenSize.width - dim.width) / 2, (screenSize.height - dim.height+40) / 2);
}
private void initProperties() {
String filename=properties.getProperty("user.dir")+java.io.File.separator+"config.property";
try{
FileInputStream file=new FileInputStream(filename);
properties.load(file);
file.close();
}catch(Exception e){
}
properties.setProperty("TermCount", "1");
Font font = new Font(properties.getProperty("FontName"),
Integer.parseInt(properties.getProperty("FontStyle")),
Integer.parseInt(properties.getProperty("FontSize")));
Dimension dim = Board.setJTermFont(font);
AdjustSize(dim);
Board.setDoubleBuffered(true);
Board.setJTermColor(Color.white, Color.black);
}
//Component initialization
private void jbInit() throws Exception {
contentPane = (JPanel)this.getContentPane();
this.setLocale(new java.util.Locale("zh_CN", "", ""));
this.setJMenuBar(jMenuBar1);
this.setResizable(false);
this.setState(Frame.NORMAL);
this.setTitle(res.getString("Application"));
this.addWindowListener(new JTermFrm_this_windowAdapter(this));
this.addKeyListener(new JTermFrm_this_keyAdapter(this));
contentPane.setLayout(borderLayout1);
// Board.addMouseMotionListener(new JTermFrm_Board_mouseMotionAdapter(this));
Board.addMouseListener(new JTermFrm_Board_mouseAdapter(this));
Board.addKeyListener(new JTermFrm_Board_keyAdapter(this));
Board.setLayout(null);
Board.setFocusable(true);
Exit.addActionListener(new JTermFrm_Exit_actionAdapter(this));
AddrBook.addActionListener(new JTermFrm_AddrBook_actionAdapter(this));
jMenu2.setText(res.getString("MenuEdit"));
jMenuItem4.setText(res.getString("CopyText"));
jMenuItem4.addActionListener(new JTermFrm_jMenuItem4_actionAdapter(this));
jMenuItem5.setText(res.getString("PasteText"));
jMenuItem5.addActionListener(new JTermFrm_jMenuItem5_actionAdapter(this));
jMenu3.setText(res.getString("MenuAbout"));
jMenuItem7.setText(res.getString("SelAll"));
jMenuItem7.addActionListener(new JTermFrm_jMenuItem7_actionAdapter(this));
AddrBook.setAccelerator(javax.swing.KeyStroke.getKeyStroke('\uFFFF'));
CopyMenu.setText(res.getString("MenuCopy"));
CopyMenu.addActionListener(new JTermFrm_CopyMenu_actionAdapter(this));
PasteMenu.setText(res.getString("MenuPaste"));
PasteMenu.addActionListener(new JTermFrm_PasteMenu_actionAdapter(this));
SelectAllMenu.setText(res.getString("MenuSelAll"));
jMenu1.setText(res.getString("MenuSite"));
AddrBook.setText(res.getString("MenuAddrBook"));
QuickStart.setText(res.getString("MenuConn"));
QuickStart.addActionListener(new JTermFrm_QuickStart_actionAdapter(this));
Exit.setText(res.getString("MenuExit"));
PopMenu.addMouseMotionListener(new JTermFrm_PopMenu_mouseMotionAdapter(this));
jMenuItem11.setText(res.getString("CopyRight"));
jMenuItem11.addActionListener(new JTermFrm_jMenuItem11_actionAdapter(this));
jMenu5.setText(res.getString("MenuView"));
jMenu6.setText(res.getString("Board"));
jMenuItem9.setText(res.getString("Outline"));
jMenuItem9.addActionListener(new JTermFrm_jMenuItem9_actionAdapter(this));
jMenuItem10.setText(res.getString("SameTitle"));
jMenuItem10.addActionListener(new JTermFrm_jMenuItem10_actionAdapter(this));
jMenuItem12.setText(res.getString("mFile"));
jMenuItem12.addActionListener(new JTermFrm_jMenuItem12_actionAdapter(this));
jMenuItem13.setText(res.getString("OriginFile"));
jMenuItem13.addActionListener(new JTermFrm_jMenuItem13_actionAdapter(this));
jMenuItem14.setText(res.getString("SameAuthor"));
jMenuItem14.addActionListener(new JTermFrm_jMenuItem14_actionAdapter(this));
jMenuItem8.setText(res.getString("Digest"));
jMenuItem8.addActionListener(new JTermFrm_jMenuItem8_actionAdapter(this));
jMenuItem16.setText(res.getString("OriginFile"));
jMenuItem16.addActionListener(new JTermFrm_jMenuItem16_actionAdapter(this));
contentPane.addKeyListener(new JTermFrm_contentPane_keyAdapter(this));
QuickLeave.setText(res.getString("QuickLeave"));
QuickLeave.addActionListener(new JTermFrm_QuickLeave_actionAdapter(this));
jMenuBar1.addComponentListener(new JTermFrm_jMenuBar1_componentAdapter(this));
SystemMenu.setText(res.getString("Tip15"));
SystemMenu.addActionListener(new JTermFrm_SystemMenu_actionAdapter(this));
InputMenu.setText(res.getString("Tip16"));
ColorMenu.setText(res.getString("Tip17"));
ColorMenu.addActionListener(new JTermFrm_ColorMenu_actionAdapter(this));
FontMenu.setText(res.getString("Tip18"));
FontMenu.addActionListener(new JTermFrm_FontMenu_actionAdapter(this));
jButton1.setToolTipText(res.getString("Tip19"));
jButton1.setIcon(null);
jButton1.setText("Book");
jButton1.addActionListener(new JTermFrm_jButton1_actionAdapter(this));
jButton2.setToolTipText(res.getString("Tip20"));
jButton2.setActionMap(null);
jButton2.setActionCommand("QCon");
jButton2.setText("QCon");
jButton2.addActionListener(new JTermFrm_jButton2_actionAdapter(this));
jButton3.setToolTipText(res.getString("Tip21"));
jButton3.setText("QLeft");
jButton3.addActionListener(new JTermFrm_jButton3_actionAdapter(this));
jButton4.setToolTipText(res.getString("MenuCopy"));
jButton4.setText("Copy");
jButton4.addActionListener(new JTermFrm_jButton4_actionAdapter(this));
jButton5.setToolTipText(res.getString("Tip14"));
jButton5.setText("Paste");
jButton5.addActionListener(new JTermFrm_jButton5_actionAdapter(this));
jButton6.setToolTipText(res.getString("Tip15"));
jButton6.setText("Config");
jButton6.addActionListener(new JTermFrm_jButton6_actionAdapter(this));
jButton7.setToolTipText("字体");
jButton7.setText("Font");
jButton7.addActionListener(new JTermFrm_jButton7_actionAdapter(this));
jButton8.setToolTipText("背景色");
jButton8.setText("Color");
jButton8.addActionListener(new JTermFrm_jButton8_actionAdapter(this));
jButton9.setToolTipText(res.getString("Tip24"));
jButton9.setText(res.getString("Tip24"));
jButton9.addActionListener(new JTermFrm_jButton9_actionAdapter(this));
jButton10.setToolTipText(res.getString("Outline"));
jButton10.setText(res.getString("Outline"));
jButton10.addActionListener(new JTermFrm_jButton10_actionAdapter(this));
jButton11.setText(res.getString("SameTitle"));
jButton11.addActionListener(new JTermFrm_jButton11_actionAdapter(this));
jMenuBar1.add(jMenu1);
jMenuBar1.add(jMenu2);
jMenuBar1.add(jMenu5);
jMenuBar1.add(jMenu3);
jMenu1.add(AddrBook);
jMenu1.add(QuickStart);
jMenu1.add(QuickLeave);
jMenu1.add(Exit);
jMenu2.add(jMenuItem4);
jMenu2.add(jMenuItem5);
jMenu2.add(jMenuItem7);
jMenu2.addSeparator();
jMenu2.add(SystemMenu);
jMenu2.add(InputMenu);
jMenu2.add(ColorMenu);
jMenu2.add(FontMenu);
PopMenu.add(CopyMenu);
PopMenu.add(PasteMenu);
PopMenu.add(SelectAllMenu);
jToolBar1.setFocusable(false);
jToolBar1.add(jButton1, null);
jToolBar1.add(jButton2, null);
jToolBar1.add(jButton3, null);
jToolBar1.add(jButton4, null);
jToolBar1.add(jButton5, null);
jToolBar1.add(jButton6, null);
jToolBar1.add(jButton7, null);
jToolBar1.add(jButton8, null);
jToolBar1.add(jButton9, null);
jToolBar1.add(jButton10, null);
jToolBar1.add(jButton11, null);
jButton1.setFocusable(false);
jButton2.setFocusable(false);
jButton3.setFocusable(false);
jButton4.setFocusable(false);
jButton5.setFocusable(false);
jButton6.setFocusable(false);
jButton7.setFocusable(false);
jButton8.setFocusable(false);
jButton9.setFocusable(false);
jButton10.setFocusable(false);
jButton11.setFocusable(false);
Board.setFocusable(true);
contentPane.add(jToolBar1, BorderLayout.NORTH);
jMenu3.add(jMenuItem11);
jMenu5.add(jMenu6);
jMenu5.add(jMenuItem8);
jMenu5.add(jMenuItem16);
jMenu6.add(jMenuItem9);
jMenu6.add(jMenuItem10);
jMenu6.add(jMenuItem12);
jMenu6.add(jMenuItem13);
jMenu6.add(jMenuItem14);
hostname = res.getString("smth");
hostport = 23;
contentPane.add(Board, BorderLayout.CENTER);
initProperties();
Board.addKeyListener(new JTermFrm_Board_keyAdapter(this));
}
//Overridden so we can exit when window is closed
protected void processWindowEvent(WindowEvent e) {
if (e.getID() == WindowEvent.WINDOW_CLOSING) {
if (Board.active){
if (JOptionPane.showConfirmDialog(this,"你确定退出?","警告",JOptionPane.YES_NO_OPTION)==JOptionPane.NO_OPTION)
{
return;
}
}
ConfigExit();
}
super.processWindowEvent(e);
}
void actionQuickStart() {
if (Board.active) {
JTermFrm frm = new JTermFrm();
frm.show();
frm.hostname = hostname;
frm.hostport = hostport;
frm.Board.connect(hostname, hostport);
String count = properties.getProperty("TermCount");
count = String.valueOf(Integer.parseInt(count) + 1);
properties.setProperty("TermCount",count);
}
else {
Board.connect(hostname, hostport);
}
}
// Quick connect
void QuickStart_actionPerformed(ActionEvent e) {
actionQuickStart();
}
void setRingIcon() {
this.setIconImage(imagering.getImage());
}
void Board_mouseClicked(MouseEvent e) {
if (Board.active) {
try {
if (e.getButton() == MouseEvent.BUTTON1) {
PopMenu.setVisible(false);
String com = Board.getActionLetter();
if (com != null && com.length() > 0) {
Board.sendCommand(com);
// Board.actionLetter = "";
}
}
if (e.getButton() == MouseEvent.BUTTON3) {
PopMenu.setLocation(e.getX() + this.getX(), e.getY() + this.getY());
PopMenu.setVisible(true);
}
}
catch (Exception err) {
err.printStackTrace();
}
}
}
private void SaveProperty(){
try{
String filename=properties.getProperty("user.dir")+java.io.File.separator+"config.property";
FileOutputStream file=new FileOutputStream(filename);
properties.store(file,"System Config");
file.close();
}catch(Exception e){
e.printStackTrace();
}
}
void ConfigExit() {
Board.Terminate();
String count = properties.getProperty("TermCount");
int c = Integer.parseInt(count) - 1;
if (c==0) {
SaveProperty();
System.exit(0);
}
else {
properties.setProperty("TermCount", String.valueOf(c));
this.dispose();
}
}
//Exit Window
void Exit_actionPerformed(ActionEvent e) {
if (Board.active){
if (JOptionPane.showConfirmDialog(this,"你确定退出?","警告",JOptionPane.YES_NO_OPTION)==JOptionPane.NO_OPTION)
{
return;
}
}
ConfigExit();
}
void actionAddrBook() {
HostSelDialog dlg = new HostSelDialog(this, "Host Select", true);
if (dlg.ExitConn) {
hostname = dlg.HostAddr.getText();
hostport = Integer.parseInt(dlg.HostPort.getText());
this.QuickStart_actionPerformed(null);
}
}
void AddrBook_actionPerformed(ActionEvent e) {
actionAddrBook();
}
void jMenuItem4_actionPerformed(ActionEvent e) {
Board.copySelect();
}
void CopyMenu_actionPerformed(ActionEvent e) {
Board.copySelect();
}
void jMenuItem5_actionPerformed(ActionEvent e) {
// java.awt.datatransfer.DataFlavor flavor;
Board.pasteselect();
}
void PasteMenu_actionPerformed(ActionEvent e) {
Board.pasteselect();
}
void jMenuItem7_actionPerformed(ActionEvent e) {
Board.SelectAll();
}
void jMenuItem11_actionPerformed(ActionEvent e) {
JTerm_Aboutbox dlg = new JTerm_Aboutbox(this, res.getString("Title"), true);
//dlg.show();
}
void jMenuItem9_actionPerformed(ActionEvent e) {
Board.sendCommand("\u00071\r\n");
}
void jMenuItem10_actionPerformed(ActionEvent e) {
Board.sendCommand("\u00072\r\n");
}
void jMenuItem12_actionPerformed(ActionEvent e) {
Board.sendCommand("\u00073\r\n");
}
void jMenuItem13_actionPerformed(ActionEvent e) {
Board.sendCommand("\u00074\r\n");
}
void jMenuItem14_actionPerformed(ActionEvent e) {
Board.sendCommand("\u00075\r\n");
}
void jMenuItem16_actionPerformed(ActionEvent e) {
Board.sendCommand("=");
}
void jMenuItem8_actionPerformed(ActionEvent e) {
Board.sendCommand("x");
}
void jMenuBar1_componentShown(ComponentEvent e) {
}
void actionConfigFont() {
FontChooser fontchooser = new FontChooser(this,"FontChooser",true);
fontchooser.setSelectFont(Board.getFont());
fontchooser.showFrame();
// fontchooser.setFrame(this);
// fontchooser.setSelectedFont(Board.getFont());
// Obtain the new Font from the FontChooser.
// First test the return value of showDialog() to
// see if the user pressed OK.
// if (fontchooser.showDialog()) {
// Set the font of jTextArea1 to the font
// the user selected before pressing the OK button
// this.setSize(Board.setJTermFont(fontchooser.getSelectedFont()));
// }
Font font=fontchooser.getSelectFont();
properties.setProperty("FontName",font.getFontName());
properties.setProperty("FontSize",String.valueOf(font.getSize()));
properties.setProperty("FontStyle",String.valueOf(font.getStyle()));
Dimension dim=Board.setJTermFont(font);
AdjustSize(dim);
}
void FontMenu_actionPerformed(ActionEvent e) {
actionConfigFont();
}
void actionConfigColor() {
Color color = JColorChooser.showDialog(this, "Background Color",
Board.getForeground());
if (color != null) {
Board.setJTermColor(Color.white, color);
}
}
void ColorMenu_actionPerformed(ActionEvent e) {
actionConfigColor();
}
void actionSetProperties() {
PropertiesDlg dlg = new PropertiesDlg(this, "system properties", false);
}
void SystemMenu_actionPerformed(ActionEvent e) {
actionSetProperties();
}
void jButton1_actionPerformed(ActionEvent e) {
actionAddrBook();
}
void jButton2_actionPerformed(ActionEvent e) {
actionQuickStart();
}
void actionQuickLeave() {
if (Board.active){
String leavecmd;
leavecmd="";
for (int i=0;i<10;i++){
leavecmd+=res.getString("KEY_LEFT");
}
leavecmd+="\r\n\r\n\r\n";
Board.sendCommand(leavecmd);
}
}
void QuickLeave_actionPerformed(ActionEvent e) {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -