java jtree的用法_Java如何使用JTree组件?

该示例介绍了如何使用JTreeswing组件创建层次结构数据的表示形式。可以在展开模式或折叠模式下查看分层数据。

要创建树的项目,我们DefaultMutableTreeNode在javax.swing.tree包中创建一个实例。此类实现TreeNodeandMutableTreeNode接口。可变意味着可以更改节点。可以添加新的子节点或从其父节点删除子节点。

在下面,我们创建一个树组件以显示有关星期几名称和月份名称的信息。该Root节点有Days和Months。该Days节点包含一个星期名称和Months节点包含月份名称。package org.nhooo.example.swing;

import javax.swing.*;

import javax.swing.tree.DefaultMutableTreeNode;

import java.awt.*;

import java.text.DateFormatSymbols;

public class JTreeDemo extends JFrame {

public JTreeDemo() {

initializeUI();

}

private void initializeUI() {

setSize(200, 400);

setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

setLayout(new FlowLayout(FlowLayout.LEFT));

// 创建日期名称的树节点。

DefaultMutableTreeNode day = new DefaultMutableTreeNode("Days");

DefaultMutableTreeNode sun = new DefaultMutableTreeNode("Sunday");

DefaultMutableTreeNode mon = new DefaultMutableTreeNode("Monday");

DefaultMutableTreeNode tue = new DefaultMutableTreeNode("Tuesday");

DefaultMutableTreeNode wed = new DefaultMutableTreeNode("Wednesday");

DefaultMutableTreeNode thu = new DefaultMutableTreeNode("Thursday");

DefaultMutableTreeNode fri = new DefaultMutableTreeNode("Friday");

DefaultMutableTreeNode sat = new DefaultMutableTreeNode("Saturday");

// 将days节点添加到day tree节点。

day.add(sun);

day.add(mon);

day.add(tue);

day.add(wed);

day.add(thu);

day.add(fri);

day.add(sat);

// 使用for循环创建月份名称的树节点,其中

// 使用DateFormatSymbols类获得月份名称。

DefaultMutableTreeNode month = new DefaultMutableTreeNode("Months");

String[] months = DateFormatSymbols.getInstance().getMonths();

for (String monthName : months) {

DefaultMutableTreeNode node = new DefaultMutableTreeNode(monthName);

month.add(node);

}

// 为我们的JTree创建根节点并添加日和月项目

// 到树上。

DefaultMutableTreeNode root = new DefaultMutableTreeNode("Root");

root.add(day);

root.add(month);

// 使用以下实例创建JTree实例

//DefaultMutableTreeNode。我们还为我们创建了一个滚动窗格

// 树容器。

JTree tree = new JTree(root);

JScrollPane pane = new JScrollPane(tree);

pane.setPreferredSize(new Dimension(150, 300));

getContentPane().add(pane);

}

public static void main(String[] args) {

SwingUtilities.invokeLater(new Runnable() {

public void run() {

new JTreeDemo().setVisible(true);

}

});

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值