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

📄 jtermfrm.java~2~

📁 用JAVA程序来上BBS?这就是一个这样的程序
💻 JAVA~2~
📖 第 1 页 / 共 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 + -