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

📄 hostseldialog.java

📁 用JAVA程序来上BBS?这就是一个这样的程序
💻 JAVA
字号:
package JTerm;

import java.awt.*;
import javax.swing.*;
import javax.swing.border.*;
import java.awt.event.*;
import java.io.*;
import java.util.ResourceBundle;

/**
 * <p>Title: JTerm </p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2003</p>
 * <p>Company: Tsinghua</p>
 * @author Frank.Wang
 * @version 1.0
 */

public class HostSelDialog extends JDialog {
  static ResourceBundle res = ResourceBundle.getBundle("JTerm.Res");
  JPanel panel1 = new JPanel();
  DefaultListModel listModel=new DefaultListModel();
  JTextField HostAddr = new JTextField();
  JLabel jLabel1 = new JLabel();
  JLabel jLabel2 = new JLabel();
  JFormattedTextField HostPort = new JFormattedTextField();
  JLabel jLabel3 = new JLabel();
  JTextField HostName = new JTextField();
  JButton jButton1 = new JButton();
  JButton jButton2 = new JButton();
  JButton jButton3 = new JButton();
  JButton jButton4 = new JButton();
  TitledBorder titledBorder1;
  TitledBorder titledBorder2;
  JTable jTable1 = new JTable();
  JScrollPane jScrollPane1 = new JScrollPane();
  JList HostList = new JList(listModel);
  boolean ExitConn=false;
 // JScrollPane scrollPane = new JScrollPane(HostList);
  static String filename=System.getProperties().getProperty("user.dir")+java.io.File.separator+res.getString("AddrFile");

  public HostSelDialog(Frame frame, String title, boolean modal) {
    super(frame, title, modal);
    try {
       jbInit();
       pack();
       setSize(400,400);
      //Center the window

       Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
       Dimension frameSize = this.getSize();
       if (frameSize.height > screenSize.height) {
         frameSize.height = screenSize.height;
       }
       if (frameSize.width > screenSize.width) {
         frameSize.width = screenSize.width;
       }
       this.setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2);
       this.setVisible(true);


    }
    catch(Exception ex) {
      ex.printStackTrace();
    }
  }

  public HostSelDialog() {
    this(null, "", false);
  }
  private void jbInit() throws Exception {
    titledBorder1 = new TitledBorder("");
    titledBorder2 = new TitledBorder("");
    panel1.setLayout(null);
    this.setResizable(false);
    this.addWindowListener(new HostSelDialog_this_windowAdapter(this));
    HostAddr.setFont(new java.awt.Font("Dialog", 0, 12));
    HostAddr.setText("bbs.tsinghua.edu.cn");
    HostAddr.setBounds(new Rectangle(78, 208, 183, 22));
    jLabel1.setFont(new java.awt.Font("Dialog", 0, 13));
    jLabel1.setText("站点地址:");
    jLabel1.setBounds(new Rectangle(12, 210, 57, 16));
    jLabel2.setBounds(new Rectangle(271, 211, 35, 16));
    jLabel2.setText("端口:");
    jLabel2.setFont(new java.awt.Font("Dialog", 0, 13));
    jLabel2.setRequestFocusEnabled(true);
    HostPort.setSelectionStart(2);
    HostPort.setText("23");
    HostPort.setBounds(new Rectangle(317, 208, 58, 22));
    jLabel3.setBounds(new Rectangle(12, 239, 57, 16));
    jLabel3.setText("站点名称:");
    jLabel3.setFont(new java.awt.Font("Dialog", 0, 13));
    jLabel3.setPreferredSize(new Dimension(56, 19));
    HostName.setFont(new java.awt.Font("Dialog", 0, 12));
    HostName.setSelectionStart(2);
    HostName.setText("水母");
    HostName.setBounds(new Rectangle(78, 237, 299, 22));
    jButton1.setBounds(new Rectangle(26, 276, 73, 25));
    jButton1.setBorder(BorderFactory.createRaisedBevelBorder());
    jButton1.setBorderPainted(true);
    jButton1.setText("Add");
    jButton1.addActionListener(new HostSelDialog_jButton1_actionAdapter(this));
    jButton2.setBounds(new Rectangle(117, 276, 73, 25));
    jButton2.setText("Remove");
    jButton2.addActionListener(new HostSelDialog_jButton2_actionAdapter(this));
    jButton3.setBounds(new Rectangle(211, 275, 76, 25));
    jButton3.setForeground(Color.black);
    jButton3.setText("Connect");
    jButton3.addActionListener(new HostSelDialog_jButton3_actionAdapter(this));
    jButton4.setBounds(new Rectangle(309, 275, 73, 25));
    jButton4.setText("Exit");
    jButton4.addActionListener(new HostSelDialog_jButton4_actionAdapter(this));

    jScrollPane1.setBorder(null);
    jScrollPane1.setBounds(new Rectangle(6, 4, 382, 191));
    HostList.addMouseListener(new HostSelDialog_HostList_mouseAdapter(this));
    HostList.setFont(new java.awt.Font("Dialog", 0, 13));
    getContentPane().add(panel1,  BorderLayout.CENTER);
    panel1.add(jLabel1, null);
    panel1.add(HostAddr, null);
    panel1.add(jLabel2, null);
    panel1.add(HostPort, null);
    panel1.add(jLabel3, null);
    panel1.add(HostName, null);
    panel1.add(jButton1, null);
    panel1.add(jButton2, null);
    panel1.add(jButton3, null);
    panel1.add(jButton4, null);
    panel1.add(jTable1, null);
    panel1.add(jScrollPane1, null);
    jScrollPane1.getViewport().add(HostList, null);

   try{
     FileInputStream file = new FileInputStream(filename);
     ObjectInputStream in = new ObjectInputStream(file);
     ListData data = null;
     while(true){
       data = (ListData) in.readObject();
       listModel.addElement(data);
       if (data==null)break;
     }
     in.close();
   }catch(Exception e){

   }



  }

  void jButton1_actionPerformed(ActionEvent e) {

    ListData data=null;
    java.util.Enumeration enum;
    for (enum =listModel.elements() ;enum.hasMoreElements() ;) {

      data=(ListData) enum.nextElement();
      if (data.getName().compareTo(HostName.getText())==0){
          break;
      }
      if(!enum.hasMoreElements() ){
          data=null;
      }
   }
    if (data==null)
     { data=new ListData(HostName.getText());
        listModel.addElement(data);
     }
    data.setAddress(HostAddr.getText());
    data.setPort(Integer.parseInt(HostPort.getText()));

  }

  void jButton4_actionPerformed(ActionEvent e) {
     this.dispose();
  }

  void HostList_mouseClicked(MouseEvent e) {
    try{
      int index = HostList.getSelectedIndex();
      ListData data = (ListData) listModel.elementAt(index);
      HostName.setText(data.getName());
      HostAddr.setText(data.getAddr());
      HostPort.setText(String.valueOf(data.getPort()));
    }catch(Exception err){

    }
  }

  void jButton3_actionPerformed(ActionEvent e) {
    ExitConn=true;
    this.dispose();
  }

  void jButton2_actionPerformed(ActionEvent e) {
    try{
      int index = HostList.getSelectedIndex();
      listModel.removeElementAt(index);
    }catch(Exception err){

    }
  }

  void this_windowClosed(WindowEvent e) {
    try{
      FileOutputStream file = new FileOutputStream(filename);
      ObjectOutputStream out = new ObjectOutputStream(file);
      ListData data;
      java.util.Enumeration enum;
      for (enum =listModel.elements() ;enum.hasMoreElements() ;) {
        data=(ListData) enum.nextElement();
        out.writeObject(data);
      }
      out.close();
    }catch(Exception err){

    }
  }
}

class HostSelDialog_jButton1_actionAdapter implements java.awt.event.ActionListener {
  HostSelDialog adaptee;

  HostSelDialog_jButton1_actionAdapter(HostSelDialog adaptee) {
    this.adaptee = adaptee;
  }
  public void actionPerformed(ActionEvent e) {
    adaptee.jButton1_actionPerformed(e);
  }
}

class HostSelDialog_jButton4_actionAdapter implements java.awt.event.ActionListener {
  HostSelDialog adaptee;

  HostSelDialog_jButton4_actionAdapter(HostSelDialog adaptee) {
    this.adaptee = adaptee;
  }
  public void actionPerformed(ActionEvent e) {
    adaptee.jButton4_actionPerformed(e);
  }
}

class ListData implements java.io.Serializable {
  public String hostname,hostaddr;
  public int    hostport;
  public ListData(String hostname){
     this.hostname=hostname;
  }
  public ListData(String hostname,String hostaddr,int hostport){
  this.hostaddr=hostaddr;
  this.hostname=hostname;
  this.hostport=hostport;
}

  public void setPort(int hostport){
    this.hostport=hostport;
  }
  public void setAddress(String hostaddr){
    this.hostaddr=hostaddr;
  }
  public String getName(){
   return this.hostname;
 }
 public String getAddr(){
return this.hostaddr;
}
 public int getPort(){
return this.hostport;
}
 public String toString(){
   return this.hostname;
 }

}

class HostSelDialog_HostList_mouseAdapter extends java.awt.event.MouseAdapter {
  HostSelDialog adaptee;

  HostSelDialog_HostList_mouseAdapter(HostSelDialog adaptee) {
    this.adaptee = adaptee;
  }
  public void mouseClicked(MouseEvent e) {
    adaptee.HostList_mouseClicked(e);
  }

}

class HostSelDialog_jButton3_actionAdapter implements java.awt.event.ActionListener {
  HostSelDialog adaptee;

  HostSelDialog_jButton3_actionAdapter(HostSelDialog adaptee) {
    this.adaptee = adaptee;
  }
  public void actionPerformed(ActionEvent e) {
    adaptee.jButton3_actionPerformed(e);
  }
}

class HostSelDialog_jButton2_actionAdapter implements java.awt.event.ActionListener {
  HostSelDialog adaptee;

  HostSelDialog_jButton2_actionAdapter(HostSelDialog adaptee) {
    this.adaptee = adaptee;
  }
  public void actionPerformed(ActionEvent e) {
    adaptee.jButton2_actionPerformed(e);
  }
}

class HostSelDialog_this_windowAdapter extends java.awt.event.WindowAdapter {
  HostSelDialog adaptee;

  HostSelDialog_this_windowAdapter(HostSelDialog adaptee) {
    this.adaptee = adaptee;
  }
  public void windowClosed(WindowEvent e) {
    adaptee.this_windowClosed(e);
  }
}

⌨️ 快捷键说明

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