[Swing]树形结构的实现
2020-12-13 03:00
标签:style class blog code java http 一般步骤: 1、建立根节点 2、建立树形模型 3、建立树 4、向树内添加节点 5、添加节点监听器 6、添加显示 7、对树属性的一些描述方法举例 代码举例: 运行如下图: [Swing]树形结构的实现,搜素材,soscw.com [Swing]树形结构的实现 标签:style class blog code java http 原文地址:http://www.cnblogs.com/fantasy01/p/3791567.htmlprivate DefaultMutableTreeNode root = new DefaultMutableTreeNode("根节点");
private DefaultTreeModel treeModel = new DefaultTreeModel(root);
private JTree tree = new JTree(treeModel);
DefaultMutableTreeNode node = new DefaultMutableTreeNode("一级节点");
DefaultMutableTreeNode node2 = new DefaultMutableTreeNode("二级节点");
/*
方法:insertNodeInto(DefaultMutableTreeNode child, DefaultMutableTreeNode parent, int index)
形参:child 所要插入的节点
形参:parent 插入节点的上级节点
形参: index 插入节点在父节点下的位置
*/
treeModel.insertNodeInto(node, root, root.getChildCount());
treeModel.insertNodeInto(node2, node, node.getChildCount());
tree.addTreeSelectionListener(new TreeSelectionListener(){
public void valueChanged(TreeSelectionEvent e){
//监听器操作代码
}
});
JFrame jf = new JFrame("树形结构");
jf.add(tree);
jf.setVisiable(true);
//获取树节点渲染器
DefaultTreeCellRenderer cellRenderer = tree.getCellRenderer();
//设置未选择时为黑色
cellRenderer.setTextNonSelectionColor(Color.black);
//设置选择时为蓝色
cellRenderer.setTextSelectionColor(Color.blue);
//设置选择模式只能选择一个
tree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
package test;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Toolkit;
import javax.swing.JFrame;
import javax.swing.JTree;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeCellRenderer;
import javax.swing.tree.DefaultTreeModel;
import javax.swing.tree.TreeSelectionModel;
@SuppressWarnings("serial")
public class Test extends JFrame implements TreeSelectionListener{
private DefaultMutableTreeNode root, node_1, node_2;
private DefaultTreeModel treeModel;
private JTree tree;
public Test(){
this.setSize(200, 150);
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
int x = (screenSize.width - this.getSize().width)/2;
int y = (screenSize.height - this.getSize().height)/2;
this.setLocation(x, y);
root = new DefaultMutableTreeNode("根节点");
node_1 = new DefaultMutableTreeNode("一级");
node_2 = new DefaultMutableTreeNode("二级");
treeModel = new DefaultTreeModel(root);
treeModel.insertNodeInto(node_1, root, root.getChildCount());
treeModel.insertNodeInto(node_2, node_1, node_1.getChildCount());
tree = new JTree(treeModel);
tree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
DefaultTreeCellRenderer cellRenderer = (DefaultTreeCellRenderer)tree.getCellRenderer();
cellRenderer.setTextNonSelectionColor(Color.black);
cellRenderer.setTextSelectionColor(Color.blue);
this.add(tree);
this.setVisible(true);
}
public void valueChanged(TreeSelectionEvent e) {
}
public static void main(String[] args){
@SuppressWarnings("unused")
Test test = new Test();
}
}