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