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

📄 lefttree.java

📁 JAVA CLONE 用于CLASS范式的CLONE
💻 JAVA
字号:
package frame;

import java.util.ArrayList;

import javax.swing.*;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeModel;
import javax.swing.tree.TreeNode;
import javax.swing.tree.TreePath;
import javax.swing.tree.TreeSelectionModel;

import baseClass.Class;
import baseClass.Course;
import baseClass.Student;

public class LeftTree extends JTree implements TreeSelectionListener{
	public  ArrayList ALLCLASS;
	public  ArrayList ALLSTUDENT;
	public  ArrayList ALLCOURSE;
	private DefaultMutableTreeNode treeNode;
	public LeftTree()
	{
		dateBuild();

	}
	public void dateBuild()
	  {
			ALLCLASS=ManagerSystem.ALLCLASS;
			ALLSTUDENT=ManagerSystem.ALLSTUDENT;
			ALLCOURSE=ManagerSystem.ALLCOURSE;
			treeNode=new DefaultMutableTreeNode("manage system");	
		    DefaultMutableTreeNode node1=new DefaultMutableTreeNode("class");
		    for(int i=0;i<ALLCLASS.size();i++)
		    {
			    DefaultMutableTreeNode leafnode=new DefaultMutableTreeNode(((Class)ALLCLASS.get(i)).getClassId());
			    node1.add(leafnode);
		    }
		    DefaultMutableTreeNode node2=new DefaultMutableTreeNode("student");
		    for(int i=0;i<ALLSTUDENT.size();i++)
		    {
			    DefaultMutableTreeNode leafnode=new DefaultMutableTreeNode(((Student)ALLSTUDENT.get(i)).getStudentId());
			    node2.add(leafnode);
		    }
		    DefaultMutableTreeNode node3=new DefaultMutableTreeNode("course");
		    for(int i=0;i<ALLCOURSE.size();i++)
		    {
			    DefaultMutableTreeNode leafnode=new DefaultMutableTreeNode(((Course)ALLCOURSE.get(i)).getCourseId());
			    node3.add(leafnode);
		    }
		    treeNode.add(node1);
		    treeNode.add(node2);
		    treeNode.add(node3);
			setModel( new DefaultTreeModel( treeNode ) ); 
			TreeNode nodeclass=getRootNode().getChildAt(0);
			DefaultMutableTreeNode nodechild=(DefaultMutableTreeNode)nodeclass;
			TreePath visiblePath = new TreePath(nodechild.getPath());
			expandPath(visiblePath);
			addTreeSelectionListener(this);
			  //creat node by JTree
	  }
	public DefaultTreeModel getTreeModel(){
	    return (DefaultTreeModel)getModel();
	  }

	public DefaultMutableTreeNode getRootNode(){
	    return (DefaultMutableTreeNode)getTreeModel().getRoot();
	  }
	  
	public TreeSelectionModel getTreeSelectionModel(){
	    return getSelectionModel();
	  }
	/**
	 * Through classid return the class in the memory
	 * @param classid
	 * @return
	 */
	private Class getselectclass(String classid)
	{
		for (int i=0; i < ManagerSystem.ALLCLASS.size(); i++) 
		{
			Class current=(Class)ALLCLASS.get(i);
			if(classid.equals(current.getClassId()))
			{
				return current;
			}
		}
		return null;
	}
	private Student getselectstudent(String studentid)
	{
		for (int i=0; i < ManagerSystem.ALLSTUDENT.size(); i++) 
		{
			Student current=(Student)ALLSTUDENT.get(i);
			if(studentid.equals(current.getStudentId()))
			{
				return current;
			}
		}
		return null;
	}
	public void valueChanged(TreeSelectionEvent e) {
			JTree lefttree=(JTree)e.getSource();
			String selectinfo="";
		  	String path="";
		  	String selectparent="";
	  	try
	  	{
	  		selectinfo=((DefaultMutableTreeNode)lefttree.getLastSelectedPathComponent()).toString();
	  		path =lefttree.getSelectionPath().toString();
	  		TreeNode parentnode=((TreeNode)lefttree.getLastSelectedPathComponent()).getParent();
	  		selectparent=((DefaultMutableTreeNode)parentnode).toString();
	  		//System.out.println(path);
	  	}
	  	catch(Exception e2)
	  	{
	  		//System.out.println(e.toString());
	  	}
	  	if(!selectinfo.equals(""))
	  	{
	  		if(selectparent.equals("class"))
	  		{
			  Class selectclass=getselectclass(selectinfo);
			  if(selectclass!=null)
			  {
				  ManagerSystem.selectmessage.setText("class id:"+selectclass.getClassId()+" class name:"+selectclass.getClassName());
			  }
	  		}
	  		else if(selectparent.equals("student"))
	  		{
    			  Student selectclass=getselectstudent(selectinfo);
    			  if(selectclass!=null)
    			  {
    				  ManagerSystem.selectmessage.setText("student id:"+selectclass.getStudentId()+" student name:"+selectclass.getStudentNmae()+"class id of student:"+selectclass.getClassId());
    			  }
	  		}
	  		else if(selectparent.equals(""))
	  		{
	  			
	  		}
		  else
		  {
			  ManagerSystem.selectmessage.setText("Please select a node to view detail information");
		  }
	  	}
	  }
		
}

⌨️ 快捷键说明

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