📄 lefttree.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 + -