- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何将列表转换为DefaultMutableTreeNode?
我正在从列表中的数据库中获取数据。现在我想将该列表转换为 JTree。我该怎么做?
public class ExpressionTree extends JFrame implements ActionListener {
private JComboBox group;
private JLabel groupLabel;
Container content;
JTree tree;
DefaultMutableTreeNode root, child;
public static void main(String[] args) {
new ExpressionTree();
}
public ExpressionTree() {
super("Creating a Simple JTree");
WindowUtilities.setNativeLookAndFeel();
addWindowListener(new ExitListener());
content = getContentPane();
group = new JComboBox();
groupLabel = new JLabel("GROUP");
ExpressionBuilder expressionBuilder = new ExpressionBuilder();
Set<Integer> set = expressionBuilder.getGroup().keySet();
Iterator<Integer> iterator = set.iterator();
group.addItem("select");
while(iterator.hasNext()){
group.addItem(expressionBuilder.getGroup().get(iterator.next()));
}
content.add(groupLabel);
content.add(group);
group.addActionListener(this);
content.setLayout(new FlowLayout());
root= new DefaultMutableTreeNode("root");
tree = new JTree(root);
content.add(new JScrollPane(tree), BorderLayout.CENTER);
setSize(300, 475);
setVisible(true);
}
public String groupString = null;
public int groupId;
public void actionPerformed(ActionEvent e){
groupString = group.getSelectedItem().toString();
ExpressionBuilder builder=new ExpressionBuilder();
builder.getGroupId(groupString);
//tree.setModel(new NodeTree());.........//what to write over here
//root.add(new NodeTree());
}
}
public class NodeTree extends DefaultMutableTreeNode{
private JTree tree;
DefaultMutableTreeNode top;
public NodeTree(){
ExpressionTree expressionTree= new ExpressionTree();
String groupstring = expressionTree.groupString;
int groupId = expressionTree.groupId;
top = new DefaultMutableTreeNode(groupstring);
tree = new JTree(top);
tree.setEditable(true);
JScrollPane treeView = new JScrollPane(tree);
createNode(top,groupId);
}
public void createNode(DefaultMutableTreeNode top,int group){
DefaultMutableTreeNode expression[] = null;
ExpressionBuilder builder=new ExpressionBuilder();
Object object = (Object)builder.getExpression(group,0);
expression[1] = new DefaultMutableTreeNode(object);
top.add(expression[1]);
expression[1].add(new DefaultMutableTreeNode((Object)builder.getExpression(group,1)));
}
}
最佳答案
假设您从数据库中正确获取节点名称并且节点是扁平的(无层次结构),您可以使用此代码创建一棵树
private JTree createTree(List<String> nodeNames) {
DefaultMutableTreeNode root = new DefaultMutableTreeNode(new Object());
TreeModel model = new DefaultTreeModel(root);
for (int i = 0; i < nodeNames.size(); i++) {
root.add(new DefaultMutableTreeNode(nodeNames.get(i)));
}
JTree tree = new JTree(model);
tree.setRootVisible(false);
return tree;
}
注意:我创建了虚拟节点作为根节点并使用了setRootVisible(false)
。如果您有有效的根节点,则可以使用它并删除隐藏根的行。
关于java - 如何将 list<String> 转换为 DefaultMutableTreeNode?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5029124/
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭 9 年前。 Improve th
当JTree设置为可编辑时,我想在用户编辑DefaultMutableTreeNode时监听文本更改。就像,我想显示用户在节点中输入的内容的状态标签。 不幸的是,我没有找到用于 DefaultMuta
我是 Java 的新手,我想创建一个包含 Map 对象的 DefaultMutableTreeNode 类。 我写了一个 TreeNodeMap 类,它继承自更通用的 TreeNode 类,而后者又继
是否可以将 String 变量转换为 DefaultMutableTreeNode 对象?请解释。上下文: String s = new String(outputTagName); Object s
我有一些 DefaultMutableTreeNode。当程序运行时,我可以更改文本并重新验证它。但如果文本太长,例如文本“tested”,文本将显示为“te...”。 如何更改此设置? 谢谢 最佳答
我创建了一个扩展 DefaultMutableTreeNode 的类。它有一个类型为 Resource 的变量“资源”,以便它可以链接到一个对象,而该对象不会影响其名称。 Resource 类有一个变
我有一个 JTree,projectView: projectView = new JTree(projectViewTop); projectView.setBackground(Color.WHI
我知道我可以将 mouseListener 添加到 Jtree,但我需要双击他的元素之一并执行 doSomething(); 最佳答案 来自documentation of JTree : If yo
如果您在非 EDT 线程中更改 DefaultMutableTreeNode 的用户对象,只是想弄清楚在线程方面会发生什么? 我不是在谈论 DefaultTreeModel 事件,即 insertNo
我已经创建了一个自定义 JTree。可以过滤该树以仅显示包含给定条件(字符串)的那些节点。现在,有什么方法可以只将包含搜索字符串的 DefaulMutableTreeNode 部分加粗吗? 如果树节点
我们使用 Java 中指定的 DefaultMutableTreeNode 实现了一个树结构。 有没有内置的遍历方法? 如果没有,请推荐其他技术。 最佳答案 理论上,您有四种从节点 (DefaultM
我正在 Netbeans 中开发一个小型桌面应用程序。我将一个 JTree 拖放到我的 JFrame 上,现在我想动态填充这个 JTree 的节点层次结构。为此,我编写了一个返回 DefaultMut
我最近一直致力于 Java Swing 项目,今天在修改 DefaultMutableTreeNode 的子节点时遇到了困难。 以下 SSCCE 说明了该问题: import java.awt.eve
如何将树(使用 DefaultMutableTreeNode 类在 Java 中实现)序列化为 JSON(用于通过 RESTful 方法传输到 iOS 客户端)? 我尝试过: String jsonS
如何将列表转换为DefaultMutableTreeNode? 我正在从列表中的数据库中获取数据。现在我想将该列表转换为 JTree。我该怎么做? public class ExpressionTre
我是 Java 的新手,我有一个 JTree,我想添加一些节点然后我想创建一个 custom renderer对于使每个节点都有不同图标的控件,由于我来自 c# 背景,我想向每个节点添加 Tag 以使
在我正在编写的程序中,我有一个 JTree 存储我自己设计的一些对象。我制作了自己的 DefaultTreeCellRenderer 扩展,并覆盖了 getTreeCellRendererCompon
我有一个 Jtree,可以向其中添加新节点。我需要为每个新节点分配一个唯一的 ID。我正在考虑扩展 DefaultMutableTreeNode 类,但我想它不起作用或者我做错了。 那么,我该怎么做呢
我想创建一种方法来转换 JSONObject,如下所示: "master root" : { "folder 1" : { "folder 2" : {
我在 Derby 有一张 table : CREATE TABLE IMPORT_RULES ( RULEID INTEGER NOT NULL, PARENTID INTEGER
我是一名优秀的程序员,十分优秀!