用java 生成一个树形菜单

样式如下:黄山+景点+交通+住宿-宾馆-露营-借宿点击黄山按钮时,显示一句话“黄山的简介”。请提供完整代码十分感谢~能提供完整的代码么?... 样式如下:

黄山
+ 景点
+ 交通
+ 住宿
-宾馆
-露营
-借宿

点击 黄山 按钮时,显示一句话“ 黄山的简介”。
请提供完整代码 十分感谢~
能提供完整的代码么?
展开
 我来答
百度网友4f1df3b41
推荐于2018-04-04 · TA获得超过1913个赞
知道小有建树答主
回答量:716
采纳率:0%
帮助的人:469万
展开全部

package com.csii;

import java.awt.GridLayout;

import javax.swing.JEditorPane;

import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.JScrollPane;

import javax.swing.JTree;

import javax.swing.SwingUtilities;

import javax.swing.UIManager;

import javax.swing.event.TreeSelectionEvent;

import javax.swing.event.TreeSelectionListener;

import javax.swing.tree.DefaultMutableTreeNode;

import javax.swing.tree.TreeSelectionModel;

public class TreeDemo1 extends JFrame implements TreeSelectionListener {

private static final long serialVersionUID = 1L;

private JPanel jContentPane = null;

private JTree jTree = null;

private JEditorPane jEditorPane = null;

private JScrollPane jScrollPane = null;

public JScrollPane getjScrollPane() {

if(jScrollPane==null){

jScrollPane = new JScrollPane();

jScrollPane.setViewportView(getJTree());

}

return jScrollPane;

}

DefaultMutableTreeNode top = null; // @jve:decl-index=0:

/**

 * This is the default constructor

 */

public TreeDemo1() {

super();

initialize();

}

/**

 * This method initializes this

 * 

 * @return void

 */

private void initialize() {

this.setSize(438, 309);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setContentPane(getJContentPane());

this.setTitle("JFrame");

}

/**

 * This method initializes jContentPane

 * 

 * @return javax.swing.JPanel

 */

private JPanel getJContentPane() {

if (jContentPane == null) {

GridLayout gridLayout = new GridLayout();

gridLayout.setRows(1);

gridLayout.setColumns(2);

jContentPane = new JPanel();

jContentPane.setLayout(gridLayout);

jContentPane.add(getjScrollPane(), null);

jContentPane.add(getJEditorPane(), null);

}

return jContentPane;

}

/**

 * This method initializes jTree

 * 

 * @return javax.swing.JTree

 */

private JTree getJTree() {

if (jTree == null) {

top = new DefaultMutableTreeNode("黄山");

createNodes(top);

jTree = new JTree(top);

jTree.getSelectionModel().setSelectionMode(

TreeSelectionModel.SINGLE_TREE_SELECTION);

jTree.addTreeSelectionListener(this);

}

return jTree;

}

private void createNodes(DefaultMutableTreeNode top) {

DefaultMutableTreeNode jingdian = null, jiaotong = null, zhusu = null, binguan = null, luying = null, jiesu = null;

jingdian = new DefaultMutableTreeNode("景点");

jingdian.add(new DefaultMutableTreeNode("景点1"));

jingdian.add(new DefaultMutableTreeNode("景点2"));

jiaotong = new DefaultMutableTreeNode("交通");

jiaotong.add(new DefaultMutableTreeNode("路线1"));

jiaotong.add(new DefaultMutableTreeNode("路线2"));

jiaotong.add(new DefaultMutableTreeNode("路线3"));

zhusu = new DefaultMutableTreeNode("住宿");

zhusu.add(new DefaultMutableTreeNode("A住宿"));

zhusu.add(new DefaultMutableTreeNode("B住宿"));

zhusu.add(new DefaultMutableTreeNode("C住宿"));

binguan = new DefaultMutableTreeNode("宾馆");

binguan.add(new DefaultMutableTreeNode("X宾馆"));

binguan.add(new DefaultMutableTreeNode("Y宾馆"));

binguan.add(new DefaultMutableTreeNode("Z宾馆"));

binguan.add(new DefaultMutableTreeNode("XYZ宾馆"));

luying = new DefaultMutableTreeNode("露营");

luying.add(new DefaultMutableTreeNode("方式1"));

luying.add(new DefaultMutableTreeNode("方式2"));

jiesu = new DefaultMutableTreeNode("借宿");

jiesu.add(new DefaultMutableTreeNode("借宿1"));

jiesu.add(new DefaultMutableTreeNode("借宿2"));

jiesu.add(new DefaultMutableTreeNode("借宿3"));

top.add(jingdian);

top.add(jiaotong);

top.add(zhusu);

top.add(binguan);

top.add(luying);

top.add(jiesu);

}

/**

 * This method initializes jEditorPane

 * 

 * @return javax.swing.JEditorPane

 */

private JEditorPane getJEditorPane() {

if (jEditorPane == null) {

jEditorPane = new JEditorPane();

}

return jEditorPane;

}

@Override

public void valueChanged(TreeSelectionEvent e) {

DefaultMutableTreeNode node = (DefaultMutableTreeNode) jTree

.getLastSelectedPathComponent();

if (node == null)

// Nothing is selected.

return;

if(node.isRoot()){

jEditorPane.setText("黄山的简介");

}

}

public static void main(String[] args) {

SwingUtilities.invokeLater(new Runnable() {

@Override

public void run() {

try {

UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());

}catch(Exception e){

e.printStackTrace();

}

new TreeDemo1().setVisible(true);

}

});

}

}

tabuaiwo888
2011-05-21 · TA获得超过116个赞
知道小有建树答主
回答量:121
采纳率:0%
帮助的人:108万
展开全部
用 js 的 dtree 控件,。到处都有下。。 传的方式就是传一个字符串就行了。比如传
d.add('a',0,0);d.add('b',0,1);d.add('c',0,2);d.add('d',3);
那就会显示成 a
-b
-c
-d
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式