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

📄 nodefactoryimpl.java

📁 一个可以存储和打印成绩单的系统
💻 JAVA
字号:
package org.minjey.cjsjk.view.tree;import java.lang.reflect.Field;import java.util.HashMap;import java.util.LinkedList;import java.util.Properties;import java.util.Queue;import org.minjey.cjsjk.core.SysDict;import org.minjey.cjsjk.model.Course;import org.minjey.cjsjk.model.EnrollTime;import org.minjey.cjsjk.model.ExamType;import org.minjey.cjsjk.model.Major;import org.minjey.cjsjk.model.MajorLength;import org.minjey.cjsjk.model.MajorRecord;import org.minjey.cjsjk.model.MajorType;import org.minjey.cjsjk.model.Station;import org.minjey.cjsjk.model.Student;import org.minjey.cjsjk.model.StudentStatue;import org.minjey.cjsjk.util.PropertyDict;import org.minjey.cjsjk.util.PropertyLoader;import org.minjey.cjsjk.view.tree.node.MyTreeNode;import org.minjey.cjsjk.view.tree.node.Node4ClassLeaves;import org.minjey.cjsjk.view.tree.node.Node4ClassMajors;public class NodeFactoryImpl extends NodeFactory {	private Properties properties;	private HashMap<Class, Class> typeMap;		public NodeFactoryImpl() {		properties = PropertyLoader.loadSystemProperty();		buildTypeMap();	}		public Class getChildType(MyTreeNode node) {		Object userObject = node.getUserObject();		Class userObjectClass = userObject.getClass();		return typeMap.get(userObjectClass);	}		public Class getChildType(Object userObject) {		return typeMap.get(userObject.getClass());	}		public boolean isNodeObject(Object obj) {		Class cla = obj.getClass();		return typeMap.containsKey(cla);	}	public HashMap<Integer, Object> getChildObjects(MyTreeNode node) {		HashMap<Integer, Object> map= null;		Class cla = getChildType(node);		if(cla == null){			map = null;		} else if(cla.equals(EnrollTime.class)) {			map = SysDict.getENROLLTIME();		} else if(cla.equals(MajorLength.class)) {			map = SysDict.getMAJORLENGTH();		} else if(cla.equals(MajorRecord.class)) {			map = SysDict.getMAJORRECORD();		} else if(cla.equals(MajorType.class)) {			map = SysDict.getMAJORTYPE();		} else if(cla.equals(ExamType.class)) {			map = SysDict.getEXAMTYPE();		} else if(cla.equals(StudentStatue.class)) {			map = SysDict.getSTUDENTSTATUE();		} else if(cla.equals(Station.class)) {			map = SysDict.getSTATION();		} else if(cla.equals(Major.class)) {			Node4ClassMajors ncm = (Node4ClassMajors)node;			map = ncm.getMajors();		} else if(cla.equals(Course.class)) {			Node4ClassLeaves ncl = (Node4ClassLeaves)node;			map = ncl.getCourses();		} else if(cla.equals(Student.class)) {			Node4ClassLeaves ncl = (Node4ClassLeaves)node;			map = ncl.getStudents();		}		return map;	}		private void buildTypeMap() {		typeMap = new HashMap<Class, Class>();		Queue<Class> tqueue = this.getTqueue();		Class key = String.class;				while(!tqueue.isEmpty()) {			Class value = tqueue.poll();			typeMap.put(key, value);			key = value;		}		typeMap.put(key, null);	}		private Queue<Class> getTqueue() {		System.out.println("Loading Tree Panel Configuration...");					Queue<Class> tqueue = new LinkedList<Class>();				tqueue.offer(Station.class);					Class[] list = new Class[10];					Class cla = PropertyDict.TREENODE.class;		Field[] fields = cla.getDeclaredFields();		Object omap = null;				for(int i = 0; i < fields.length; i ++) {			try {				String pname = fields[i].get(cla).toString();				String pi = properties.getProperty(pname);				if(pi.equals("")) {					continue;				} else {					int pos = Integer.parseInt(pi);	//获取位置序号										String fname = fields[i].getName();	//获取变量名					if(fname.equals("ENROLLTIME")) {						fname = "EnrollTime";					} else if(fname.equals("MAJORTYPE")) {						fname = "MajorType";					} else if(fname.equals("MAJORRECORD")) {						fname = "MajorRecord";					} else if(fname.equals("MAJORLENGTH")) {						fname = "MajorLength";					} else {						continue;					}										fname = "org.minjey.cjsjk.model." + fname;										Class ocla = Class.forName(fname);										list[pos] = ocla;				}			} catch (ClassNotFoundException e) {				e.printStackTrace();			} catch (IllegalArgumentException e) {				e.printStackTrace();			} catch (IllegalAccessException e) {				e.printStackTrace();			}		}				for(int i = 0; i < list.length; i ++) {			if(list[i] == null) {				continue;			}else {				tqueue.offer(list[i]);			}		}				tqueue.offer(Major.class);				boolean show = Boolean.valueOf(properties.getProperty(PropertyDict.COURSE));		if(show) {			show = Boolean.valueOf(properties.getProperty(PropertyDict.EXAMTYPE));			if(show) {				tqueue.offer(ExamType.class);			}			tqueue.offer(Course.class);		} else {			show = Boolean.valueOf(properties.getProperty(PropertyDict.STUDENT));			if(show) {				show = Boolean.valueOf(properties.getProperty(PropertyDict.STUDENTSTATUE));				if(show) {					tqueue.offer(StudentStatue.class);				}				tqueue.offer(Student.class);			}		}		System.out.println("Tree Panel Configuration Load Finished.");		return tqueue;	}}

⌨️ 快捷键说明

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