📄 userdetailspanel.java
字号:
package openicq.gui;import java.awt.Font;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.*;import javax.swing.border.Border;import openicq.Start;import openicq.data.Default;import openicq.data.Resource;import org.javalib.gui.SpringToolkit;import org.javalib.gui.model.SettingsDisplayPanel;import JOscarLib.Management.Contact;/** * The <code>UserDetailsPanel</code> class is a panel to change and view the * user details of any contact. * @author Hansgeorg Schwibbe * @copyright 2004 */public class UserDetailsPanel extends SettingsDisplayPanel{ private UserDetailsDialog userDialog; private JLabel jLabelNickName = new JLabel(); private JLabel jLabelFirstName = new JLabel(); private JLabel jLabelLastName = new JLabel(); private JLabel jLabelEmail = new JLabel(); protected JTextField jTextFieldNickName = new JTextField(); protected JTextField jTextFieldFirstName = new JTextField(); protected JTextField jTextFieldLastName = new JTextField(); protected JTextField jTextFieldEmail = new JTextField(); /** * Initializes a new instance of the class <code>UserDetailsPanel</code>. * @param parent the parent frame */ public UserDetailsPanel(JDialog parent) { super(); String text; userDialog = (UserDetailsDialog) parent; jTextFieldNickName.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { userDialog.action_saveSettings(); userDialog.focusCloseButton(); } }); jTextFieldFirstName.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { userDialog.action_saveSettings(); userDialog.focusCloseButton(); } }); jTextFieldLastName.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { userDialog.action_saveSettings(); userDialog.focusCloseButton(); } }); jTextFieldEmail.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { userDialog.action_saveSettings(); userDialog.focusCloseButton(); } }); jLabelNickName.setFont(new Font(null, Font.BOLD, 11)); jLabelFirstName.setFont(new Font(null, Font.BOLD, 11)); jLabelLastName.setFont(new Font(null, Font.BOLD, 11)); jLabelEmail.setFont(new Font(null, Font.BOLD, 11)); text = ((String[]) UserDetailsDialog.localized.get("contactDetails"))[1]; jLabelNickName.setText(text); text = ((String[]) UserDetailsDialog.localized.get("contactDetails"))[2]; jLabelFirstName.setText(text); text = ((String[]) UserDetailsDialog.localized.get("contactDetails"))[3]; jLabelLastName.setText(text); text = ((String[]) UserDetailsDialog.localized.get("contactDetails"))[4]; jLabelEmail.setText(text); Border innerBorder = BorderFactory.createEmptyBorder(12, 12, 12, 12); Border outerBorder = BorderFactory.createLoweredBevelBorder(); setBorder(BorderFactory.createCompoundBorder(innerBorder, outerBorder)); this.setLayout(new SpringLayout()); this.add(jLabelNickName); this.add(jTextFieldNickName); this.add(jLabelFirstName); this.add(jTextFieldFirstName); this.add(jLabelLastName); this.add(jTextFieldLastName); this.add(jLabelEmail); this.add(jTextFieldEmail); SpringToolkit.makeCompactGrid(this, 8, 1, 5, 5, 5, 5); } /** * (non-Javadoc) * @see org.javalib.gui.model.SettingsDisplayPanel#getContinueWithoutSavingMessage() */ public String getContinueWithoutSavingMessage() { return ((String[]) UserDetailsDialog.localized.get("warningMessages"))[0] + "\n" + ((String[]) UserDetailsDialog.localized.get("questionMessages"))[0]; } /** * (non-Javadoc) * @see org.javalib.gui.model.SettingsDisplayPanel#getContinueWithoutSavingTitle() */ public String getContinueWithoutSavingTitle() { return ((String[]) UserDetailsDialog.localized.get("messageTitles"))[2]; } /** * (non-Javadoc) * @see org.javalib.gui.model.SettingsDisplayPanel#getListIconPath() */ public String getListIconPath() { return Resource.ICON_SOURCE_DETAILS[1]; } /** * (non-Javadoc) * @see org.javalib.gui.model.SettingsDisplayPanel#getListName() */ public String getListName() { return ((String[]) UserDetailsDialog.localized.get("detailsDialogList"))[1]; } /** * (non-Javadoc) * @see org.javalib.gui.model.SettingsDisplayPanel#getSaveButtonText() */ public String getSaveButtonText() { return ((String[]) UserDetailsDialog.localized.get("detailsDialog"))[2]; } /** * (non-Javadoc) * @see org.javalib.gui.model.SettingsDisplayPanel#getSaveSettingsErrorTitle() */ public String getSaveSettingsErrorTitle() { return ((String[]) UserDetailsDialog.localized.get("messageTitles"))[0]; } /** * (non-Javadoc) * @see org.javalib.gui.model.SettingsDisplayPanel#hasChanged() */ public boolean hasChanged() { Contact contact = userDialog.contact; if (contact != null) { if (!jTextFieldNickName.getText().equals(contact.getNickName()) || !jTextFieldFirstName.getText().equals(contact.getFirstName()) || !jTextFieldLastName.getText().equals(contact.getLastName()) || !jTextFieldEmail.getText().equals(contact.getEmail())) { return true; } } return false; } /** * (non-Javadoc) * @see org.javalib.gui.model.SettingsDisplayPanel#loadSettings() */ public void loadSettings() { if (userDialog.contact != null) { jTextFieldNickName.setText(userDialog.contact.getNickName()); jTextFieldFirstName.setText(userDialog.contact.getFirstName()); jTextFieldLastName.setText(userDialog.contact.getLastName()); jTextFieldEmail.setText(userDialog.contact.getEmail()); } } /** * (non-Javadoc) * @see org.javalib.gui.model.SettingsDisplayPanel#saveSettings() */ public void saveSettings() throws Exception { String contactId, msg, path; userDialog.contact.setNickName(jTextFieldNickName.getText()); userDialog.contact.setFirstName(jTextFieldFirstName.getText()); userDialog.contact.setLastName(jTextFieldLastName.getText()); userDialog.contact.setEmail(jTextFieldEmail.getText()); userDialog.setContact(userDialog.contact); synchronized (Start.env) { int size = Start.env.getKnownList().getContactListSize(); for (int index = 0; index < size; index++) { contactId = Start.env.getKnownList().get(index).getContactId(); if (contactId.equals(userDialog.contact.getContactId())) { Start.env.setKnownList(Start.env.sortContactList(Start.env.getKnownList())); userDialog.mainFrame.contactPanel.initContacts(); userDialog.setDisplayPanels(userDialog.getDisplayPanels(), 1); try { path = Default.FOLDER_NAME_HOME + "/" + Start.env.getOwnContact().getContactId() + "/" + Default.FILE_NAME_KNOWN_LIST; Start.env.saveContactList(path, Start.env.getKnownList()); } catch (Exception ex) { msg = ((String[]) UserDetailsDialog.localized.get("errorMessages"))[9]; throw new Exception(msg); } return; } } size = Start.env.getUnknownList().getContactListSize(); for (int index = 0; index < size; index++) { contactId = Start.env.getUnknownList().get(index).getContactId(); if (contactId.equals(userDialog.contact.getContactId())) { Start.env.setUnknownList(Start.env.sortContactList(Start.env.getUnknownList())); userDialog.mainFrame.contactPanel.initContacts(); userDialog.setDisplayPanels(userDialog.getDisplayPanels(), 1); try { path = Default.FOLDER_NAME_HOME + "/" + Start.env.getOwnContact().getContactId() + "/" + Default.FILE_NAME_UNKNOWN_LIST; Start.env.saveContactList(path, Start.env.getUnknownList()); } catch (Exception ex) { msg = ((String[]) UserDetailsDialog.localized.get("errorMessages"))[14]; throw new Exception(msg); } return; } } } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -