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

📄 editclientdialog.java

📁 本文首先介绍了这些考试系统的形成和发展过程
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
			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 + -