📄 editclientdialog.java
字号:
emailLabel = new JLabel();
emailLabel.setText("电邮");
BorderLayout borderLayout3 = new BorderLayout();
borderLayout3.setHgap(6);
emailPanel = new JPanel();
emailPanel.setLayout(borderLayout3);
emailPanel.add(emailLabel, java.awt.BorderLayout.WEST);
emailPanel.add(getEmailTextField(), java.awt.BorderLayout.CENTER);
}
return emailPanel;
}
/**
* This method initializes mobilePanel
*
* @return javax.swing.JPanel
*/
private JPanel getMobilePanel() {
if (mobilePanel == null) {
mobileLabel = new JLabel();
mobileLabel.setText("手机");
BorderLayout borderLayout4 = new BorderLayout();
borderLayout4.setHgap(6);
mobilePanel = new JPanel();
mobilePanel.setLayout(borderLayout4);
mobilePanel.add(mobileLabel, java.awt.BorderLayout.WEST);
mobilePanel.add(getMobileTextField(), java.awt.BorderLayout.CENTER);
}
return mobilePanel;
}
/**
* This method initializes qqPanel
*
* @return javax.swing.JPanel
*/
private JPanel getQqPanel() {
if (qqPanel == null) {
qqLabel = new JLabel();
qqLabel.setText("QQ ");
BorderLayout borderLayout5 = new BorderLayout();
borderLayout5.setHgap(6);
qqPanel = new JPanel();
qqPanel.setLayout(borderLayout5);
qqPanel.add(qqLabel, java.awt.BorderLayout.WEST);
qqPanel.add(getQqTextField(), java.awt.BorderLayout.CENTER);
}
return qqPanel;
}
/**
* This method initializes sexPanel
*
* @return javax.swing.JPanel
*/
private JPanel getSexPanel() {
if (sexPanel == null) {
sexLabel = new JLabel();
sexLabel.setText("性别");
BorderLayout borderLayout6 = new BorderLayout();
borderLayout6.setHgap(6);
sexPanel = new JPanel();
sexPanel.setLayout(borderLayout6);
sexPanel.add(sexLabel, java.awt.BorderLayout.WEST);
sexPanel.add(getSexComboBox(), java.awt.BorderLayout.CENTER);
}
return sexPanel;
}
/**
* This method initializes companyPanel
*
* @return javax.swing.JPanel
*/
private JPanel getCompanyPanel() {
if (companyPanel == null) {
companyLabel = new JLabel();
companyLabel.setText("公司");
BorderLayout borderLayout7 = new BorderLayout();
borderLayout7.setHgap(6);
companyPanel = new JPanel();
companyPanel.setLayout(borderLayout7);
companyPanel.add(companyLabel, java.awt.BorderLayout.WEST);
companyPanel.add(getCompanyComboBox(), java.awt.BorderLayout.CENTER);
}
return companyPanel;
}
/**
* This method initializes birthdayPanel
*
* @return javax.swing.JPanel
*/
private JPanel getBirthdayPanel() {
if (birthdayPanel == null) {
birthdayLabel = new JLabel();
birthdayLabel.setText("生日");
BorderLayout borderLayout8 = new BorderLayout();
borderLayout8.setHgap(6);
birthdayPanel = new JPanel();
birthdayPanel.setLayout(borderLayout8);
birthdayPanel.add(birthdayLabel, java.awt.BorderLayout.WEST);
birthdayPanel.add(getBirthdayDatePicker(), java.awt.BorderLayout.CENTER);
}
return birthdayPanel;
}
/**
* This method initializes nameTextField
*
* @return javax.swing.JTextField
*/
private JTextField getNameTextField() {
if (nameTextField == null) {
nameTextField = new JTextField();
}
return nameTextField;
}
/**
* This method initializes phoneTextField
*
* @return javax.swing.JTextField
*/
private JTextField getPhoneTextField() {
if (phoneTextField == null) {
phoneTextField = new JTextField();
}
return phoneTextField;
}
/**
* This method initializes emailTextField
*
* @return javax.swing.JTextField
*/
private JTextField getEmailTextField() {
if (emailTextField == null) {
emailTextField = new JTextField();
}
return emailTextField;
}
/**
* This method initializes mobileTextField
*
* @return javax.swing.JTextField
*/
private JTextField getMobileTextField() {
if (mobileTextField == null) {
mobileTextField = new JTextField();
}
return mobileTextField;
}
/**
* This method initializes qqTextField
*
* @return javax.swing.JTextField
*/
private JTextField getQqTextField() {
if (qqTextField == null) {
qqTextField = new JTextField();
}
return qqTextField;
}
/**
* This method initializes sexComboBox
*
* @return javax.swing.JComboBox
*/
private JComboBox getSexComboBox() {
if (sexComboBox == null) {
sexComboBox = new JComboBox();
DefaultComboBoxModel model = new DefaultComboBoxModel();
model.addElement(Client.MALE);
model.addElement(Client.FEMALE);
model.setSelectedItem(Client.MALE);
sexComboBox.setModel(model);
}
return sexComboBox;
}
/**
* This method initializes companyComboBox
*
* @return javax.swing.JComboBox
*/
private JComboBox getCompanyComboBox() {
if (companyComboBox == null) {
companyComboBox = new JComboBox();
}
return companyComboBox;
}
/**
* This method initializes birthdayDatePicker
*
* @return com.michaelbaranov.microba.calendar.DatePicker
*/
private DatePicker getBirthdayDatePicker() {
if (birthdayDatePicker == null) {
birthdayDatePicker = new DatePicker();
birthdayDatePicker.setFieldEditable(false);
birthdayDatePicker.setShowNoneButton(false);
}
return birthdayDatePicker;
}
public void intiView(Category category, Company company){
action.initView(category, company);
}
/**
* This method initializes photoFileChooser
*
* @return javax.swing.JFileChooser
*/
private JFileChooser getPhotoFileChooser() {
if (photoFileChooser == null) {
photoFileChooser = new JFileChooser();
photoFileChooser.setSize(new java.awt.Dimension(283,157));
photoFileChooser.setFileFilter(getPhotoFileFilter());
}
return photoFileChooser;
}
/**
* This method initializes photoFileFilter
*
* @return net.robin.crm.ui.PhotoFileFilter
*/
private PhotoFileFilter getPhotoFileFilter() {
if (photoFileFilter == null) {
photoFileFilter = new PhotoFileFilter();
}
return photoFileFilter;
}
public Client getClient() {
return action.getClient();
}
public void setClient(Client client) {
action.setClient(client);
}
private class Action {
private Client client;
private CRMService service;
private DefaultComboBoxModel categoryComboBoxModel = new DefaultComboBoxModel();
private DefaultComboBoxModel companyComboBoxModel = new DefaultComboBoxModel();
private BufferedImage photo;
//private static final int WIDTH = 150;
//private static final int HEIGHT = 214;
public Action(){
try {
service = ServiceHandeler.getInstance().getService();
} catch (ConfigException e) {
e.printStackTrace();
Util.error("系统配置错误"+e.getMessage());
} catch (InstanceExeption e) {
e.printStackTrace();
Util.error("不能实例化服务"+e.getMessage());
} catch (ServiceException e) {
e.printStackTrace();
Util.error("服务异常"+e.getMessage());
}
}
public Client getClient() {
return client;
}
public void setClient(Client client) {
this.client = client;
getNameTextField().setText(client.getName());
getPhoneTextField().setText(client.getPhone());
getMobileTextField().setText(client.getMobile());
getQqTextField().setText(client.getQq());
getEmailTextField().setText(client.getEmail());
try {
getBirthdayDatePicker().setDate(client.getBirthday());
} catch (PropertyVetoException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(EditClientDialog.this, "日期设置失败!"+ e.getMessage());
}
getSexComboBox().setSelectedItem(client.getSex());
initView(client.getCategory(), client.getCompany());
try {
Image ph = Util.loadPhoto(client.getPhoto());
if(ph!=null)
photoLabel.setIcon(new ImageIcon(ph));
} catch (IOException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(EditClientDialog.this, "图片装载失败!"+ e.getMessage());
}
}
public void initView(Category category, Company company){
try {
//初始化分类列表
List categories = service.findCategories();
categoryComboBoxModel.removeAllElements();
for (Iterator iter = categories.iterator(); iter.hasNext();) {
Category c = (Category) iter.next();
categoryComboBoxModel.addElement(c);
}
if(category!=null)
categoryComboBoxModel.setSelectedItem(category);
getCategoryComboBox().setModel(categoryComboBoxModel);
//初始化公司列表
List companies = service.findCompanies();
companyComboBoxModel.removeAllElements();
for (Iterator iter = companies.iterator(); iter.hasNext();) {
Company c = (Company) iter.next();
companyComboBoxModel.addElement(c);
}
if(company!=null)
companyComboBoxModel.setSelectedItem(company);
getCompanyComboBox().setModel(companyComboBoxModel);
} catch (ServiceException e) {
e.printStackTrace();
Util.error("服务异常"+e.getMessage());
}
}
private void loadPhoto(){
int value = getPhotoFileChooser().showOpenDialog(EditClientDialog.this);
if(value != JFileChooser.APPROVE_OPTION){
return;
}
File file = getPhotoFileChooser().getSelectedFile();
if(! file.isFile() ){
JOptionPane.showMessageDialog(EditClientDialog.this, "你必须选择一个文件!");
return;
}
if(!file.exists()){
JOptionPane.showMessageDialog(EditClientDialog.this, "你必须选择一个文件!");
return;
}
try {
photo = Util.loadPhoto(file);
photo = Util.resizePhoto(photo);
photoLabel.setIcon(new ImageIcon(photo));
} catch (IOException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(EditClientDialog.this, "图片装载失败!"+ e.getMessage());
return;
}
}
public void ok(){
String name = getNameTextField().getText();
String email = getEmailTextField().getText();
String phone =getPhoneTextField().getText();
String mobile = getMobileTextField().getText();
String qq = getQqTextField().getText();
String sex = (String) getSexComboBox().getSelectedItem();
Category category = (Category) getCategoryComboBox().getSelectedItem();
Company company = (Company) getCompanyComboBox().getSelectedItem();
Date birthday = getBirthdayDatePicker().getDate();
String photo = "";
if(this.photo!=null)
try {
photo = Util.savePhoto(this.photo);
} catch (IOException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(EditClientDialog.this, "图片保存失败!");
return;
}
if(name==null || name.trim().equals("")){
JOptionPane.showMessageDialog(EditClientDialog.this, "必须输入用户名");
return;
}
//Client client = new Client();
client.setBirthday(birthday);
client.setCategory(category);
client.setCompany(company);
client.setEmail(email);
client.setMobile(mobile);
client.setName(name);
client.setPhone(phone);
client.setQq(qq);
if(photo!=null)
client.setPhoto(photo);
client.setSex(sex);
try {
service.updateClient(client);
clear();
setVisible(false);
} catch (ServiceException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(EditClientDialog.this, "更新失败"+e.getMessage());
try {
Util.removePhoto(photo);
} catch (IOException e1) {
e1.printStackTrace();
}
return;
}
}
public void cancel(){
clear();
setVisible(false);
}
private void clear() {
getNameTextField().setText(null);
getPhoneTextField().setText(null);
getMobileTextField().setText(null);
getQqTextField().setText(null);
getEmailTextField().setText(null);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -