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

📄 addcontactdialog.java

📁 一个类似QQ的在线通讯聊天软件原码,适合初学者参考学习。
💻 JAVA
字号:
package openicq.gui;import java.awt.BorderLayout;import java.awt.Frame;import java.awt.event.*;import javax.swing.*;import openicq.Start;import openicq.net.*;import org.javalib.dynamic.localize.Localizable;import org.javalib.gui.*;import org.javalib.util.TitledList;import JOscarLib.Management.Contact;/** * The <code>AddContactDialog</code> class is the basic dialog to add new * contacts to the contact list. * @author Hansgeorg Schwibbe * @copyright 2004 */public class AddContactDialog extends JDialog implements Localizable{  protected static TitledList localized = Start.env.getLocalizedList();  private MainFrame mainFrame;  private JPanel contentPane;  private JPanel jPanelInput = new JPanel();  private JPanel jPanelButtons = new JPanel();  private JLabel jLabelUserID = new JLabel();  private JLabel jLabelNickName = new JLabel();  private JLabel jLabelFirstName = new JLabel();  private JLabel jLabelLastName = new JLabel();  private JLabel jLabelEmail = new JLabel();  private WholeNumberField wholeNumberFieldUserID = new WholeNumberField();  private JTextField jTextFieldNickName = new JTextField();  private JTextField jTextFieldFirstName = new JTextField();  private JTextField jTextFieldLastName = new JTextField();  private JTextField jTextFieldEmail = new JTextField();  private JButton jButtonContact = new JButton();  private JButton jButtonCancel = new JButton();  private AddContactDocumentPanel docPanel = new AddContactDocumentPanel(this);  /**   * Initializes a new instance of the class <code>ContactDialog</code>.   * @param owner the owner frame   */  public AddContactDialog(Frame owner)  {    super(owner, ((String[]) localized.get("menubar"))[1], false);    mainFrame = (MainFrame) owner;    wholeNumberFieldUserID.addActionListener(new ActionListener()    {      public void actionPerformed(ActionEvent e)      {        action_addContact();      }    });    jTextFieldNickName.addActionListener(new ActionListener()    {      public void actionPerformed(ActionEvent e)      {        action_addContact();      }    });    jTextFieldFirstName.addActionListener(new ActionListener()    {      public void actionPerformed(ActionEvent e)      {        action_addContact();      }    });    jTextFieldLastName.addActionListener(new ActionListener()    {      public void actionPerformed(ActionEvent e)      {        action_addContact();      }    });    jTextFieldEmail.addActionListener(new ActionListener()    {      public void actionPerformed(ActionEvent e)      {        action_addContact();      }    });    jButtonContact.addActionListener(new ActionListener()    {      public void actionPerformed(ActionEvent e)      {        action_addContact();      }    });    jButtonCancel.addActionListener(new ActionListener()    {      public void actionPerformed(ActionEvent e)      {        action_closeWindow();      }    });    jLabelUserID.setText(((String[]) localized.get("contactDetails"))[0]);    jLabelNickName.setText(((String[]) localized.get("contactDetails"))[1]);    jLabelFirstName.setText(((String[]) localized.get("contactDetails"))[2]);    jLabelLastName.setText(((String[]) localized.get("contactDetails"))[3]);    jLabelEmail.setText(((String[]) localized.get("contactDetails"))[4]);    jButtonContact.setText(((String[]) localized.get("stdButtons"))[6]);    jButtonCancel.setText(((String[]) localized.get("stdButtons"))[1]);    jPanelInput.setLayout(new SpringLayout());    jPanelInput.setBorder(BorderFactory.createEtchedBorder());    jPanelInput.add(jLabelUserID);    jPanelInput.add(wholeNumberFieldUserID);    jPanelInput.add(jLabelNickName);    jPanelInput.add(jTextFieldNickName);    jPanelInput.add(jLabelFirstName);    jPanelInput.add(jTextFieldFirstName);    jPanelInput.add(jLabelLastName);    jPanelInput.add(jTextFieldLastName);    jPanelInput.add(jLabelEmail);    jPanelInput.add(jTextFieldEmail);    jPanelInput.add(docPanel);    SpringToolkit.makeCompactGrid(jPanelInput, 11, 1, 5, 0, 5, 5);    jPanelButtons.add(jButtonContact);    jPanelButtons.add(jButtonCancel);    contentPane = (JPanel) this.getContentPane();    contentPane.setLayout(new BorderLayout());    contentPane.add(jPanelInput, BorderLayout.CENTER);    contentPane.add(jPanelButtons, BorderLayout.SOUTH);    setResizable(false);    this.pack();    WindowToolkit.centerWindow(this);  }  /**   * Action 'Add new contact'.   */  public void action_addContact()  {    String msg, title;    int value = wholeNumberFieldUserID.getText().length();    if (value < 1)    {      msg = ((String[]) localized.get("errorMessages"))[19];      title = ((String[]) localized.get("messageTitles"))[0];      JOptionPane.showMessageDialog(this, msg, title, JOptionPane.ERROR_MESSAGE);      wholeNumberFieldUserID.requestFocus();      return;    }    String contactId;    int index, size;    size = Start.env.getKnownList().getContactListSize();    for (index = 0; index < size; index++)    {      contactId = Start.env.getKnownList().get(index).getContactId();      if (contactId.equals(wholeNumberFieldUserID.getText()))      {        msg = ((String[]) localized.get("errorMessages"))[24];        title = ((String[]) localized.get("messageTitles"))[0];        JOptionPane.showMessageDialog(this, msg, title,                                      JOptionPane.ERROR_MESSAGE);        return;      }    }    size = Start.env.getUnknownList().getContactListSize();    for (index = 0; index < size; index++)    {      contactId = Start.env.getUnknownList().get(index).getContactId();      if (contactId.equals(wholeNumberFieldUserID.getText()))      {        msg = ((String[]) localized.get("errorMessages"))[24];        title = ((String[]) localized.get("messageTitles"))[0];        JOptionPane.showMessageDialog(this, msg, title,                                      JOptionPane.ERROR_MESSAGE);        return;      }    }    int ownId = Integer.parseInt(Start.env.getOwnContact().getContactId());    final int searchId = (int) wholeNumberFieldUserID.getValue();    new ShortUserInfoRequest(Start.env.getConnection(), ownId, searchId)    {      public void onResponse(ShortUserInfo shortInfo)      {        if (shortInfo.getSuccessByte() != Flag.SUCCESS)        {          String msg, title;          msg = ((String[]) localized.get("errorMessages"))[25];          title = ((String[]) localized.get("messageTitles"))[0];          JOptionPane.showMessageDialog(contentPane, msg, title,                                        JOptionPane.ERROR_MESSAGE);          return;        }        Contact contact = new Contact(String.valueOf(searchId));        if (!jTextFieldNickName.getText().equals(""))        {          contact.setNickName(jTextFieldNickName.getText());        }        else        {          contact.setNickName(shortInfo.getNickName());        }        if (!jTextFieldFirstName.getText().equals(""))        {          contact.setFirstName(jTextFieldFirstName.getText());        }        else        {          contact.setFirstName(shortInfo.getFirstName());        }        if (!jTextFieldLastName.getText().equals(""))        {          contact.setLastName(jTextFieldLastName.getText());        }        else        {          contact.setLastName(shortInfo.getLastName());        }        if (!jTextFieldEmail.getText().equals(""))        {          contact.setEmail(jTextFieldEmail.getText());        }        else        {          contact.setEmail(shortInfo.getEmail());        }        mainFrame.contactPanel.addContact(contact);        action_closeWindow();      }    };  }  /**   * Action 'Close the window'.   */  public void action_closeWindow()  {    wholeNumberFieldUserID.setText("");    jTextFieldNickName.setText("");    jTextFieldFirstName.setText("");    jTextFieldLastName.setText("");    jTextFieldEmail.setText("");    this.setVisible(false);    this.dispose();  }  /**   * (non-Javadoc)   * @see org.javalib.dynamic.localize.Localizable#localize()   */  public void localize()  {    localized = Start.env.getLocalizedList();    setTitle(((String[]) localized.get("menubar"))[1]);    jLabelUserID.setText(((String[]) localized.get("contactDetails"))[0]);    jLabelNickName.setText(((String[]) localized.get("contactDetails"))[1]);    jLabelFirstName.setText(((String[]) localized.get("contactDetails"))[2]);    jLabelLastName.setText(((String[]) localized.get("contactDetails"))[3]);    jLabelEmail.setText(((String[]) localized.get("contactDetails"))[4]);    jButtonContact.setText(((String[]) localized.get("stdButtons"))[6]);    jButtonCancel.setText(((String[]) localized.get("stdButtons"))[1]);    docPanel.setDocument(docPanel.getDocument());    jPanelInput.removeAll();    jPanelInput.add(jLabelUserID);    jPanelInput.add(wholeNumberFieldUserID);    jPanelInput.add(jLabelNickName);    jPanelInput.add(jTextFieldNickName);    jPanelInput.add(jLabelFirstName);    jPanelInput.add(jTextFieldFirstName);    jPanelInput.add(jLabelLastName);    jPanelInput.add(jTextFieldLastName);    jPanelInput.add(jLabelEmail);    jPanelInput.add(jTextFieldEmail);    jPanelInput.add(docPanel);    SpringToolkit.makeCompactGrid(jPanelInput, 11, 1, 5, 0, 5, 5);    contentPane.removeAll();    contentPane.add(jPanelInput, BorderLayout.CENTER);    contentPane.add(jPanelButtons, BorderLayout.SOUTH);    pack();  }  /**   * (non-Javadoc)   * @see java.awt.Window#processWindowEvent(java.awt.event.WindowEvent)   */  protected void processWindowEvent(WindowEvent e)  {    if (e.getID() == WindowEvent.WINDOW_CLOSING)    {      this.action_closeWindow();    }  }}

⌨️ 快捷键说明

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