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

📄 employeeswingview.java

📁 对XML和DB的CURD的基本操作.使用的两个比较常用的组合设计模式:MVC模式+DAO模式。
💻 JAVA
字号:
package com.mycompany.myapp.view.swing;import java.awt.BorderLayout;import java.awt.Container;import java.awt.Dimension;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import java.util.List;import java.util.Vector;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JTable;import javax.swing.table.DefaultTableModel;import com.mycompany.myapp.control.ControllerInterface;import com.mycompany.myapp.model.Employee;import com.mycompany.myapp.service.EmployeeManager;public class EmployeeSwingView implements ActionListener {	private ControllerInterface<Employee, Long> controller;	private JTable table = null;	private DefaultTableModel defaultModel = null;	public EmployeeSwingView(			ControllerInterface<Employee, Long> employeeController,			EmployeeManager manager) {		this.controller = employeeController;		//manager.registerObserver((EmployeeObserver) this);	}	/**	 * Create all Swing components	 */	public void createView() {		JFrame f = new JFrame();		String[] columnName = { "id", "first name", "last name",				"phone number", "address" };		List<Employee> employeeList = controller.getAll();		Object[][] data = new Object[employeeList.size()][columnName.length];		for (int i = 0; i < employeeList.size(); i++) {			Employee employee = (Employee) employeeList.get(i);			data[i] = new String[] { String.valueOf(employee.getId()),					employee.getFirstName(), employee.getLastName(),					employee.getPhoneNumber(), employee.getAddress() };		}		defaultModel = new DefaultTableModel(data, columnName);		table = new JTable(defaultModel);		table.setPreferredScrollableViewportSize(new Dimension(450, 100));		JScrollPane s = new JScrollPane(table);		JPanel panel = new JPanel();		JButton b = new JButton("Add");		panel.add(b);		b.addActionListener(this);		b = new JButton("Save");		panel.add(b);		b.addActionListener(this);		b = new JButton("Remove");		panel.add(b);		b.addActionListener(this);		Container contentPane = f.getContentPane();		contentPane.add(panel, BorderLayout.NORTH);		contentPane.add(s, BorderLayout.CENTER);		f.setTitle("EmployeeCRUD");		f.pack();		f.setVisible(true);		f.addWindowListener(new WindowAdapter() {			public void windowClosing(WindowEvent e) {			}		});	}	public void actionPerformed(ActionEvent e) {		int selectedRowIndex = table.getSelectedRow();		if (e.getActionCommand().equals("Add")) {			List<Employee> employeeList = controller.getAll();			Vector newRowVector = new Vector();			String newElm;			if(!employeeList.isEmpty()){				Employee lastEmployee = (Employee) employeeList.get(employeeList						.size() - 1);				newElm = String.valueOf(lastEmployee.getId() + 1);			}			else{				newElm = "0";			}			newRowVector.addElement(newElm);			defaultModel.addRow(newRowVector);		} else if (e.getActionCommand().equals("Remove")) {			String id = (String) defaultModel.getValueAt(selectedRowIndex, 0);			controller.remove(Long.valueOf(id));			defaultModel.removeRow(selectedRowIndex);		} else if (e.getActionCommand().equals("Save")) {			String id = (String) defaultModel.getValueAt(selectedRowIndex, 0);			String firstName = (String) defaultModel.getValueAt(					selectedRowIndex, 1);			String lastName = (String) defaultModel.getValueAt(					selectedRowIndex, 2);			String phoneNumber = (String) defaultModel.getValueAt(					selectedRowIndex, 3);			String address = (String) defaultModel.getValueAt(selectedRowIndex,					4);			Employee employee = null;			employee = controller.get(Long.valueOf(id));			if (employee != null) {				employee.setFirstName(firstName);				employee.setLastName(lastName);				employee.setPhoneNumber(phoneNumber);				employee.setAddress(address);				controller.update(employee);			} else {				employee = new Employee();				employee.setFirstName(firstName);				employee.setLastName(lastName);				employee.setPhoneNumber(phoneNumber);				employee.setAddress(address);				controller.insert(employee);			}		}	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -