📄 owndetailspanel.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.Resource;
import openicq.management.ICQContact;
import openicq.net.Flag;
import openicq.net.SetBasicUserInfoRequest;
import org.javalib.gui.SpringToolkit;
import org.javalib.gui.model.SettingsDisplayPanel;
/**
* The <code>OwnDetailsPanel</code> class is a panel with the own user
* details.
* @author Hansgeorg Schwibbe
* @copyright 2004
*/
public class OwnDetailsPanel extends SettingsDisplayPanel
{
private OwnDetailsDialog ownDetailsDialog;
private JLabel jLabelNickName = new JLabel();
private JLabel jLabelFirstName = new JLabel();
private JLabel jLabelLastName = new JLabel();
private JLabel jLabelEmail = new JLabel();
protected JTextField textFieldNickName = new JTextField();
protected JTextField textFieldFirstName = new JTextField();
protected JTextField textFieldLastName = new JTextField();
protected JTextField textFieldEmail = new JTextField();
/**
* Initializes a new instance of the class <code>OwnDetailsPanel</code>.
* @param parent the parent dialog
*/
public OwnDetailsPanel(JDialog parent)
{
super();
String text;
ownDetailsDialog = (OwnDetailsDialog) parent;
textFieldNickName.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
ownDetailsDialog.action_saveSettings();
ownDetailsDialog.focusCloseButton();
}
});
textFieldFirstName.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
ownDetailsDialog.action_saveSettings();
ownDetailsDialog.focusCloseButton();
}
});
textFieldLastName.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
ownDetailsDialog.action_saveSettings();
ownDetailsDialog.focusCloseButton();
}
});
textFieldEmail.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
ownDetailsDialog.action_saveSettings();
ownDetailsDialog.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[]) OwnDetailsDialog.localized.get("contactDetails"))[1];
jLabelNickName.setText(text);
text = ((String[]) OwnDetailsDialog.localized.get("contactDetails"))[2];
jLabelFirstName.setText(text);
text = ((String[]) OwnDetailsDialog.localized.get("contactDetails"))[3];
jLabelLastName.setText(text);
text = ((String[]) OwnDetailsDialog.localized.get("contactDetails"))[4];
jLabelEmail.setText(text);
Border innerBorder = BorderFactory.createEmptyBorder(12, 12, 12, 12);
Border outerBorder = BorderFactory.createLoweredBevelBorder();
this.setBorder(BorderFactory.createCompoundBorder(innerBorder, outerBorder));
this.setLayout(new SpringLayout());
this.add(jLabelNickName);
this.add(textFieldNickName);
this.add(jLabelFirstName);
this.add(textFieldFirstName);
this.add(jLabelLastName);
this.add(textFieldLastName);
this.add(jLabelEmail);
this.add(textFieldEmail);
SpringToolkit.makeCompactGrid(this, 8, 1, 5, 5, 5, 5);
}
/**
* (non-Javadoc)
* @see org.javalib.gui.model.SettingsDisplayPanel#getContinueWithoutSavingMessage()
*/
public String getContinueWithoutSavingMessage()
{
return ((String[]) OwnDetailsDialog.localized.get("warningMessages"))[0]
+ "\n"
+ ((String[]) OwnDetailsDialog.localized.get("questionMessages"))[0];
}
/**
* (non-Javadoc)
* @see org.javalib.gui.model.SettingsDisplayPanel#getContinueWithoutSavingTitle()
*/
public String getContinueWithoutSavingTitle()
{
return ((String[]) OwnDetailsDialog.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[]) OwnDetailsDialog.localized.get("detailsDialogList"))[1];
}
/**
* (non-Javadoc)
* @see org.javalib.gui.model.SettingsDisplayPanel#getSaveButtonText()
*/
public String getSaveButtonText()
{
return ((String[]) OwnDetailsDialog.localized.get("detailsDialog"))[2];
}
/**
* (non-Javadoc)
* @see org.javalib.gui.model.SettingsDisplayPanel#getSaveSettingsErrorTitle()
*/
public String getSaveSettingsErrorTitle()
{
return ((String[]) OwnDetailsDialog.localized.get("messageTitles"))[0];
}
/**
* (non-Javadoc)
* @see org.javalib.gui.model.SettingsDisplayPanel#hasChanged()
*/
public boolean hasChanged()
{
synchronized (Start.env)
{
if (Start.env.getOwnContact() != null)
{
ICQContact ownContact = Start.env.getOwnContact();
if (!textFieldNickName.getText().equals(ownContact.getNickName())
|| !textFieldFirstName.getText().equals(ownContact.getFirstName())
|| !textFieldLastName.getText().equals(ownContact.getLastName())
|| !textFieldEmail.getText().equals(ownContact.getEmail()))
{
return true;
}
}
}
return false;
}
/**
* (non-Javadoc)
* @see org.javalib.gui.model.SettingsDisplayPanel#loadSettings()
*/
public void loadSettings()
{
synchronized (Start.env)
{
if (Start.env.getOwnContact() != null)
{
textFieldNickName.setText(Start.env.getOwnContact().getNickName());
textFieldFirstName.setText(Start.env.getOwnContact().getFirstName());
textFieldLastName.setText(Start.env.getOwnContact().getLastName());
textFieldEmail.setText(Start.env.getOwnContact().getEmail());
}
}
}
/**
* (non-Javadoc)
* @see org.javalib.gui.model.SettingsDisplayPanel#saveSettings()
*/
public void saveSettings() throws Exception
{
synchronized (Start.env)
{
int ownId = Integer.parseInt(Start.env.getOwnContact().getContactId());
new SetBasicUserInfoRequest(Start.env.getConnection(), ownId,
textFieldNickName.getText().toCharArray(),
textFieldFirstName.getText().toCharArray(),
textFieldLastName.getText().toCharArray(),
textFieldEmail.getText().toCharArray(),
new char[] {}, new char[] {}, new char[] {},
new char[] {}, new char[] {}, new char[] {},
new char[] {}, 0x007, '0', '1')
{
public void onResponse(int success)
{
String msg, title;
if (success != Flag.SUCCESS)
{
msg = ((String[]) SettingsDialog.localized.get("errorMessages"))[22];
title = ((String[]) SettingsDialog.localized.get("messageTitles"))[0];
JOptionPane.showMessageDialog(ownDetailsDialog, msg, title,
JOptionPane.ERROR_MESSAGE);
return;
}
}
};
Start.env.getOwnContact().setNickName(textFieldNickName.getText());
Start.env.getOwnContact().setFirstName(textFieldFirstName.getText());
Start.env.getOwnContact().setLastName(textFieldLastName.getText());
Start.env.getOwnContact().setEmail(textFieldEmail.getText());
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -