java菜单树代码 java代码生成菜单树

如何用Java实现树形结构?。?/h2>package tree;
import java.util.LinkedList;
import java.util.List;
/**
* 功能:把一个数组的值存入二叉树中,然后进行3种方式的遍历
*
* 参考资料0:数据结构(C语言版)严蔚敏
*
* 参考资料1:
*
* 参考资料2:
*
* @author ocaicai@yeah.net @date: 2011-5-17
*
*/
public class BinTreeTraverse2 {
private int[] array = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
private static ListNode nodeList = null;
/**
* 内部类:节点
*
* @author ocaicai@yeah.net @date: 2011-5-17
*
*/
private static class Node {
Node leftChild;
Node rightChild;
int data;
Node(int newData) {
leftChild = null;
rightChild = null;
data = https://www.04ip.com/post/newData;
}
}
public void createBinTree() {
nodeList = new LinkedListNode();
// 将一个数组的值依次转换为Node节点
for (int nodeIndex = 0; nodeIndexarray.length; nodeIndex) {
nodeList.add(new Node(array[nodeIndex]));
}
// 对前lastParentIndex-1个父节点按照父节点与孩子节点的数字关系建立二叉树
for (int parentIndex = 0; parentIndexarray.length / 2 - 1; parentIndex) {
// 左孩子
nodeList.get(parentIndex).leftChild = nodeList
.get(parentIndex * 21);
// 右孩子
nodeList.get(parentIndex).rightChild = nodeList
.get(parentIndex * 22);
}
// 最后一个父节点:因为最后一个父节点可能没有右孩子,所以单独拿出来处理
int lastParentIndex = array.length / 2 - 1;
// 左孩子
【java菜单树代码 java代码生成菜单树】nodeList.get(lastParentIndex).leftChild = nodeList
.get(lastParentIndex * 21);
// 右孩子,如果数组的长度为奇数才建立右孩子
if (array.length % 2 == 1) {
nodeList.get(lastParentIndex).rightChild = nodeList
.get(lastParentIndex * 22);
}
}
/**
* 先序遍历
*
* 这三种不同的遍历结构都是一样的,只是先后顺序不一样而已
*
* @param node
*遍历的节点
*/
public static void preOrderTraverse(Node node) {
if (node == null)
return;
System.out.print(node.data" ");
preOrderTraverse(node.leftChild);
preOrderTraverse(node.rightChild);
}
/**
* 中序遍历
*
* 这三种不同的遍历结构都是一样的,只是先后顺序不一样而已
*
* @param node
*遍历的节点
*/
public static void inOrderTraverse(Node node) {
if (node == null)
return;
inOrderTraverse(node.leftChild);
System.out.print(node.data" ");
inOrderTraverse(node.rightChild);
}
/**
* 后序遍历
*
* 这三种不同的遍历结构都是一样的,只是先后顺序不一样而已
*
* @param node
*遍历的节点
*/
public static void postOrderTraverse(Node node) {
if (node == null)
return;
postOrderTraverse(node.leftChild);
postOrderTraverse(node.rightChild);
System.out.print(node.data" ");
}
public static void main(String[] args) {
BinTreeTraverse2 binTree = new BinTreeTraverse2();
binTree.createBinTree();
// nodeList中第0个索引处的值即为根节点
Node root = nodeList.get(0);
System.out.println("先序遍历:");
preOrderTraverse(root);
System.out.println();
System.out.println("中序遍历:");
inOrderTraverse(root);
System.out.println();
System.out.println("后序遍历:");
postOrderTraverse(root);
}
}
java,jsp带checkbox的树形菜单,如何实现?jsp中带有checkbox的属性菜单需要用easyui组件来实现,代码如下:
!DOCTYPE html
html
head
meta charset="UTF-8"
titleCheckBox Tree - jQuery EasyUI Demo/title
link rel="stylesheet" type="text/css" href="https://www.04ip.com/themes/default/easyui.css"
link rel="stylesheet" type="text/css" href="https://www.04ip.com/themes/icon.css"
link rel="stylesheet" type="text/css" href="https://www.04ip.com/demo.css"
script type="text/javascript" src="https://www.04ip.com/jquery.min.js"/script
script type="text/javascript" src="https://www.04ip.com/jquery.easyui.min.js"/script
/head
body
h2CheckBox Tree/h2
pTree nodes with check boxes./p
div style="margin:20px 0;"
a href="https://www.04ip.com/post/#" class="easyui-linkbutton" onclick="getChecked()"GetChecked/a
/div
div style="margin:10px 0"
input type="checkbox" checked onchange="$('#tt').tree({cascadeCheck:$(this).is(':checked')})"CascadeCheck
input type="checkbox" onchange="$('#tt').tree({onlyLeafCheck:$(this).is(':checked')})"OnlyLeafCheck
/div
div class="easyui-panel" style="padding:5px"
ul id="tt" class="easyui-tree" data-options="url:'tree_data1.json',method:'get',animate:true,checkbox:true"/ul
/div
script type="text/javascript"
function getChecked(){
var nodes = $('#tt').tree('getChecked');
var s = '';
for(var i=0; inodes.length; i){
if (s != '') s= ',';
s= nodes[i].text;
}
alert(s);
}
/script
/body
/html
运行效果:
Java递归如何正确输出树形菜单首先java菜单树代码我们要建立树节点的类java菜单树代码:
[java] view plain copy
package com.tree;
public class Node {
private Integer id;
private Integer parentId;
private String name;
private String link;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public Integer getParentId() {
return parentId;
}
public void setParentId(Integer parentId) {
this.parentId = parentId;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getLink() {
return link;
}
public void setLink(String link) {
this.link = link;
}
}
输出树形菜单类:
[java] view plain copy
package com.tree;
import java.util.ArrayList;
import java.util.List;
public class Tree {
private StringBuffer html = new StringBuffer();
private ListNode nodes;
public Tree(ListNode nodes){
this.nodes = nodes;
}
public String buildTree(){
html.append("ul");
for (Node node : nodes) {
Integer id = node.getId();
if (node.getParentId() == ) {
html.append("\r\nli id='"id"'"node.getName()"/li");
build(node);
}
}
html.append("\r\n/ul");
return html.toString();
}
private void build(Node node){
ListNode children = getChildren(node);
if (!children.isEmpty()) {
html.append("\r\nul");
for (Node child : children) {
Integer id = child.getId();
html.append("\r\nli id='"id"'"child.getName()"/li");
build(child);
}
html.append("\r\n/ul");
}
}
private ListNode getChildren(Node node){
ListNode children = new ArrayListNode();
Integer id = node.getId();
for (Node child : nodes) {
if (id.equals(child.getParentId())) {
children.add(child);
}
}
return children;
}
}
java菜单树代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java代码生成菜单树、java菜单树代码的信息别忘了在本站进行查找喔 。

    推荐阅读