我试图将JTree节点可视化为JButton,我已经尝试使用JButton对象创建一个默认可变树节点,并将其添加到JTree中:
JButton button = new JButton("Thing");
DefaultMutableTreeNode root = new DefaultMutableTreeNode(button);
JTree alberoClassi = new JTree(root);
这些只显示带有黑色参数的错误行。
搜索网络我只发现我需要一个TreeRendererCell
类,但没有一个结果显示如何使用它。
是否有一些教程可以让我找到一些示例来完成任务?
最后,我使用一个实现javax的外部类解决了这个问题。摆动树TreeCellRenderer界面
public class ClassCellRenderer implements javax.swing.tree.TreeCellRenderer {
JLabel className = new JLabel(" ");
JButton renderer = new JButton();
DefaultTreeCellRenderer defaultRenderer = new DefaultTreeCellRenderer();
public ClassCellRenderer() {
renderer.add(className);
}
@Override
public Component getTreeCellRendererComponent(JTree tree, Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus) {
Component returnValue = null;
if ((value != null) && (value instanceof DefaultMutableTreeNode)) {
Object userObject = ((DefaultMutableTreeNode) value).getUserObject();
if (userObject instanceof String) {
String e = (String) userObject;
className.setText(e);
}
returnValue = renderer;
}
if (returnValue == null) {
returnValue = defaultRenderer.getTreeCellRendererComponent(tree, value, selected, expanded,
leaf, row, hasFocus);
}
return returnValue;
}
}
JLabel和JButton可以使用所需的任何其他组件进行更改。为了将渲染器添加到树中,我使用了以下行:
alberoClassi = new JTree(root);
TreeCellRenderer renderer = new ClassCellRenderer();
alberoClassi.setCellRenderer(renderer); //aggiunta del renderer per i nodi
我有一个JTree,它的节点由DefaultMutableTreeNode驱动。每个节点都可以验证或不验证。首先,所有节点的图标都是相同的,但当我选择它们并按下verify按钮时,我将更改已验证节点的图标。我希望能够在每个节点上单击和写入,这样就不能使用JLabel显示图标。我编写了以下代码,但它返回NULLException。 数百万,谢谢。
对于 EZRMutableNode\ 类的实例来说,T value属性是可写并且线程安全的。我们可以通过点语法来修改一个可变节点的值,像这样: EZRMutableNode<NSNumber *> *node = [EZRMutableNode value:@55]; node.value = @82; 有的时候,你希望将一个可变节点重新修改为空值(EZREmpty.empty),由于泛型约束通
问题内容: 我在创建JTree时遇到困难,该JTree允许通过将节点拖放到JTree中进行重组。看来应该比较简单。我在网上看过示例,但似乎无法在自己的代码中实现它。 例如,sun提供的这种功能允许在不同组件之间拖动到树中,但不能从树本身内部拖动。 而且我也发现了这一点,它允许您将文本拖到JTree中,但不能拖到树中。 任何参考或建议将是巨大的。谢谢 问题答案: 之前没有做过,但是谷歌快速搜索在这里
我已经实现了一个TreeModel来调整存量数据模型,以便将其可视化为JTree。我遇到了一个问题,节点有多个相同的子(叶)节点。例如,考虑一个JTree,它的叶节点是Strings。每当父节点包含具有相同String值的子节点时,就会出现问题。这些叶节点的TreePath是相同的,作为Strings,equals()返回true。留档明确地调用这个: JTree及其相关类广泛使用TreePath
我试图在弹出组件和JMenuItem组件的click action事件中向JTree动态添加节点。我右键单击节点组件并添加另一个节点。添加节点适用于叶节点,但不适用于非叶节点。我不知道代码有什么问题。似乎添加了节点,但Gui没有更新。 平台:Windows 7 Java Java版本“1.7.0\u 17”Java(TM)SE运行时环境(build 1.7.0\u 17-b02)Java HotS
我正在尝试解析下面的XML文件并基于它创建一个JTree。 “窗口01”将添加到根节点“对象列表”,但“页面01”节点不会显示在“窗口01”节点下。下面给出了使用的源代码。请帮忙!!! 这是主课。编译时不会显示错误或警告。