- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这可能是一个简单的问题,我不太习惯Java编程。但我需要创建一个带有 CheckboxTree 的对话框(带有复选框的 JTree
变体,请参阅 http://www.javaworld.com/javaworld/jw-09-2007/jw-09-checkboxtree.html )
请注意:我在NetBeans的图形环境中创建了JDialog
,因此它生成了添加按钮等的代码。所以我需要知道如何在创建后添加这棵树主要部分,可以这么说......也许这就是问题所在,因为如果我这样做:
JPanel panel = new JPanel();
this.setContentPane(panel);
然后我实际上看到对话框中显示了树,但所有按钮都消失了......
我已经能够将其添加到 JFrame
和选项面板中,但我希望将其添加到自定义 JDialog
中。谁能用非常简单的术语向我解释一下我需要做什么?
到目前为止,这是我微弱的尝试:
JDialog 的构造函数:
public MetadataUI(java.awt.Frame parent, boolean modal) {
super(parent, modal);
initComponents();
Container panel = getContentPane();
panel.add(getTree());
panel.repaint();
this.pack();
}
创建复选框树的 getTree 方法:
private static CheckboxTree getTree() {
DefaultMutableTreeNode root, child;
root = new DefaultMutableTreeNode("root");
child = new DefaultMutableTreeNode("Colors");
root.add(child);
child.add(new DefaultMutableTreeNode("Cyan"));
child.add(new DefaultMutableTreeNode("Magenta"));
child.add(new DefaultMutableTreeNode("Yellow"));
child.add(new DefaultMutableTreeNode("Black"));
CheckboxTree checkboxTree = new CheckboxTree(root);
checkboxTree.setVisible(true);
return checkboxTree;
}
这次重新绘制以及所有这些都是基于我在谷歌搜索中发现的内容的最后一次尝试,但它没有任何区别,所以我猜我已经离题很远了。
添加树并使其可见的最简单方法将不胜感激。在添加它方面,它似乎与 JTree 完全一样,但我无法使其工作。因此,即使没有人有使用此特定 checkboxtree 插件的经验,在 JDialog
中使用 JTree
的相同(最简单)代码也可能可以!
编辑:
作为对 Andrew 的回应,这是与常规 JTree 相同的事情(我的最佳尝试):
private static JTree getTree() {
DefaultMutableTreeNode root, child;
root = new DefaultMutableTreeNode("root");
child = new DefaultMutableTreeNode("Colors");
root.add(child);
child.add(new DefaultMutableTreeNode("Cyan"));
child.add(new DefaultMutableTreeNode("Magenta"));
child.add(new DefaultMutableTreeNode("Yellow"));
child.add(new DefaultMutableTreeNode("Black"));
JTree tree = new JTree(root);
tree.setVisible(true);
return tree;
}
编辑2:
对于马克西姆的回答,我很困惑。对你来说显而易见的事情可能对我来说是不重要的。从您的代码中借用一些东西,这是我能想到的最好的方法(不起作用):
public MetadataUI(java.awt.Frame parent, boolean modal) {
super(parent, modal);
initComponents();
JScrollPane s = new JScrollPane();
s.getViewport().add(getTree());
getContentPane().add(s, BorderLayout.CENTER);
setVisible(true);
}
最佳答案
如果您确实使用 Netbeans GUI 创建了 JDialog(它是 JDialog 表单),并且您尝试集成到已有组件中的组件提供了零参数构造函数,请尝试以下操作:
[JDialog]
或任何顶级节点(应该是“其他组件”的同级节点),然后选择从调色板添加 > Beans > 选择 Bean
com.example.jtree.SomeJTreeComponent
)并确认。如果该组件确实是一个 JTree,那么添加它可能不会出现任何问题。Enclose in
来手动实现此目的。您将需要手动编写其他内容。我建议您阅读JTree Tutorial或参阅第 3 方组件的文档来帮助您完成此操作。
您可能还想了解有关 tool 的更多信息您正在使用它来构建 GUI。
关于java - 将 JTree (CheckboxTree) 添加到 JDialog,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13565313/
为了让最终用户将搜索限制在主 TableView 的某些列中,我需要一个带有复选框的 TreeView 。我决定将此 TreeView 嵌入弹出窗口中,在单击自定义按钮时显示。 受问题启发,我创建了以
我正在使用 CheckBoxTree 组件来获得一种带有复选框的特殊 JTree。但是,我希望能够在高级节点上没有复选框,因为永远不应该检查它们,它们只是“分支名称”。这是树的一个简单示例: 元数据
我使用jquery checkboxtree我想以折叠模式启动树。 我用这个: $(document).ready(function(){ $('#ch_group_menu').checkb
我在内部使用react-checkbox-tree时遇到问题。在我的文本字段中输入值,然后单击其中一个复选框后,我的文本字段将重置为第一个状态。 ( this.on
这可能是一个简单的问题,我不太习惯Java编程。但我需要创建一个带有 CheckboxTree 的对话框(带有复选框的 JTree 变体,请参阅 http://www.javaworld.com/ja
我正在使用 CheckBoxTree 类,它是 JIDE 公共(public)层包 (http://jidesoft.com/products/oss.htm) 的一部分。我想要做的是保存并加载 Ch
我是一名优秀的程序员,十分优秀!