'JTree 예제'에 해당되는 글 1건

  1. 2016.12.21 JTree 예제

JTree 예제

응용 SoftWare/JAVA 2016. 12. 21. 16:29

import java.util.StringTokenizer;


import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JTree;

import javax.swing.event.TreeExpansionEvent;

import javax.swing.event.TreeExpansionListener;

import javax.swing.event.TreeSelectionEvent;

import javax.swing.event.TreeSelectionListener;

import javax.swing.tree.DefaultMutableTreeNode;

import javax.swing.tree.TreePath;


public class JTreeTest extends JFrame implements TreeExpansionListener, TreeSelectionListener{

JTree tree;

DefaultMutableTreeNode node, languageNode, webNode, htmlNode, frameworkNode;

JLabel lbl = new JLabel();

public JTreeTest() {

node = new DefaultMutableTreeNode("Root");

languageNode = new DefaultMutableTreeNode("language");

node.add(languageNode);

languageNode.add(new DefaultMutableTreeNode("Java"));

languageNode.add(new DefaultMutableTreeNode("Asp"));

languageNode.add(new DefaultMutableTreeNode("Jsp"));

webNode = new DefaultMutableTreeNode("web");

node.add(webNode);

htmlNode = new DefaultMutableTreeNode("html");

webNode.add(htmlNode);

htmlNode.add(new DefaultMutableTreeNode("웹표준"));

webNode.add(new DefaultMutableTreeNode("css3"));

frameworkNode = new DefaultMutableTreeNode("framework");

node.add(frameworkNode);

frameworkNode.add(new DefaultMutableTreeNode("spring"));

frameworkNode.add(new DefaultMutableTreeNode("mybatis"));

tree = new JTree(node);

add(tree, "Center");

add(lbl, "South");

setSize(400, 500);

setVisible(true);

//폴더 확장

tree.expandRow(3); //root의 하위 폴더의 번호 - 폴더 확장

tree.addTreeExpansionListener(this);

tree.addTreeSelectionListener(this);

}

//오버라이딩

public void treeExpanded(TreeExpansionEvent tee){

System.out.println("treeEx");

}

public void treeCollapsed(TreeExpansionEvent tee){

System.out.println("treeCol");

}

public void valueChanged(TreeSelectionEvent tse){

TreePath tp = tree.getSelectionPath(); //경로 구하기

StringTokenizer st = new StringTokenizer(tp.toString(), "[,]");

String pathStr = "";

while(st.hasMoreTokens()){

pathStr += st.nextToken().trim() + "/";

}

lbl.setText(pathStr);

}

public static void main(String[] args) {

new JTreeTest();


}


}



'응용 SoftWare > JAVA' 카테고리의 다른 글

JSplitPane 예제2  (0) 2016.12.21
JSplitPane 예제  (0) 2016.12.21
Thread를 이용한 디지털 시계  (0) 2016.12.21
[Swing] 달력만들기  (0) 2016.12.16
FileReader  (0) 2016.12.16
Posted by Hyun CHO
,