天道酬勤,学无止境

How can I add checkbox in tree table

I want to created a Tree with multi-columns. I found this tutorial here (German) and this answer (English). I want to add checkboxes in one column, but I have no idea how to do it. When I return a checkbox to JTreeTable, something show in execute is checkbox detail not checkbox object. How can I get something like this, pictured below?

评论

As shown in Taking the New Swing Tree Table for a Spin, cited here, your implementation of RowModel must return the correct type from getColumnClass() and the correct value from getValueFor(). Values of type Boolean.class will be rendered with a JCheckBox. The following implementations produce the image cited:

@Override
public Class getColumnClass(int column) {
    switch (column) {
        case 0:
            return Date.class;
        case 1:
            return Long.class;
        case 2:
            return Boolean.class;
        case 3:
            return Boolean.class;
        case 4:
            return Boolean.class;
        default:
            assert false;
    }
    return null;
}

@Override
public Object getValueFor(Object node, int column) {
    File f = (File) node;
    switch (column) {
        case 0:
            return new Date(f.lastModified());
        case 1:
            return f.length();
        case 2:
            return f.canRead();
        case 3:
            return f.canWrite();
        case 4:
            return f.canExecute();
        default:
            assert false;
    }
    return null;
}

I can't select checkbox.

You need to return true in your implementation of isCellEditable() for the desired column(s) and update the node in your implementation of setValueFor() accordingly. When the cell editor concludes, your implementation of setValueFor() will be called, so verify that it updates the same value that will later be returned by getValueFor(). Optionally, you'll want to implement the TreeModel methods that manage the TreeModelListener list by using the scheme prescribed in an EventListenerList API; the DefaultTreeModel source code is a good example.

受限制的 HTML

  • 允许的HTML标签:<a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。

相关推荐
  • 帮助使用 JCheckBox 制作 JTree(Help making a JTree with a JCheckBox)
    问题 我有一个不寻常的情况,我需要有一个 JTree,每个节点包含 2 个复选框和一个标签(能够添加一个侦听器来告诉何时选中任何潜在的复选框)。 我还需要根节点具有相同的布局(我假设这意味着创建一个带有 2 个 JCheckBox 和一个 JLabel 的 JPanel),如果根节点中的一个被选中,则能够选择树下的所有复选框。 任何指导或例子? 我已经在这里查看了以前的问题和相关的例子......其中一些让我能够达到让树“看”的地步,但没有给我一个实施它背后的行动的方向。 谢谢! 回答1 这可能是查看旧 JTreeTable 代码的好时机,它将为您提供在第一列中呈现的树,并且可以根据需要自由地将每列的单元格呈现在树节点的右侧,在您的情况下放入复选框和标签,并允许您让 TableCellEditors 像以往一样使用您的 JTable。 一个警告是,虽然该链接中的代码有效,但它有点令人费解。 有一个替代方案。 我在下面演示了一个应该更好的 Tree Table 实现,称为Outline ,由 NetBeans 提供(尽管您不需要使用 NetBeans IDE 进行开发,您只需要 jar)。 这篇文章说明了入门是多么容易。 我能够在大约 30 分钟内模拟 Eclipse 中 Outline 树表的快速示例(将 org-netbeans-swing-outline.jar
  • 如何在树中放置复选框?(How to place checkboxes in a tree?)
    问题 有人可以建议我如何针对以下树层次结构的每个文件夹放置复选框吗? 我正在尝试添加复选框,但它没有显示在我的树中,如下所示。 请建议我需要对下面的代码进行更改以显示复选框。 这是一个工作代码,只需将相同的代码复制粘贴到文本板中,然后在允许 activex 的 IE 中打开。 <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-type" content="text/html; charset=UTF-8"/> <link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/dojo/1.7.2/dojo/resources/dojo.css"> <link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/dojo/1.7.2/dijit/themes/claro/claro.css"> <link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/dojo/1.7.2/dojox/grid/resources/Grid.css"> <link rel="stylesheet" href="http://ajax
  • Vue + Spring Boot 项目实战(十七):后台角色、权限与菜单分配
    重要链接: 「系列文章目录」 「项目源码(GitHub)」 本篇目录 前言一、角色、权限分配1.用户信息表与行数据获取2.角色分配3.权限分配 二、菜单分配下一步 前言 有感于公司旁边的兰州拉面进化成了兰州料理,咱们的小破项目也被我做了一次品牌升级,虽然并没有什么卵用。 近两年在深圳,发现评价高的店味道不一定好吃,但环境、服务一定ok,过去很火的苍蝇铺子小吃摊逐渐吃不开了。人们的喜好在随经济发展变迁,这种发展变迁其实是有迹可循的,从先发展的地方搬运理念,是一种很常见的赚钱思路。然而现在人人都明白这个事,想做好不那么容易,所以这两年到处在嚷嚷下沉经济、垂直领域。昨天看了一篇分析商业趋势的长文,里面讲“区域崛起与县域经济”下产生的隐性冠军企业,提到全世界 60% 的假发产自我的家乡河南许昌,据说远销非洲大陆,这我还是头一次听说,不知道各位老铁有没有相关需求,要是你们够给力,我就辞职回去当一波靠山吃山的地头蛇。 (韭菜分割线) 这篇文章主要讲在已经实现了菜单和功能访问控制的情况下,如何编写实现 角色、权限、菜单分配 功能的接口与页面,本质是增删改查、表单表格,但以下知识点需要拿出来讲一下: JPA 如何自定义查询语句?如何使用 element-ui 的树组件?如何接收并处理没有实体类型对应的数据?Vue 如何不刷新清除路由记录? 这里每一个点讲深了都值得单独写一篇文章
  • JavaFX 树表单元格中需要多个控件(Multiple Controls needed in JavaFX Tree Table Cell)
    问题 我需要基于行对象的枚举属性值在 JavaFX TreeTableCell 中使用不同的可编辑控件。 在不同的情况下,我需要 DatePicker、TextField、CheckBox、ComboBox 或简单的不可编辑文本字段。 我扩展了 TreeTableCell 并覆盖了 updateItem 以处理不同的情况,但这变得非常麻烦。 是否可以创建自定义 CellFactory Callback 以根据行对象的属性返回不同的子类 TreeTableCells? 我该怎么做呢? public class MyCellFactory implements Callback<TreeTableColumn<MyField,String>,TreeTableCell<MyField,String>> { @Override public TreeTableCell<MyField, String> call(TreeTableColumn<MyField, String> param) { return new MyCell(); } } public class MyCell extends TreeTableCell<MyField, String> { private TextField textField; private DatePicker datePicker
  • 从 Jstree 禁用某些复选框(Disable certain checkboxes from Jstree)
    问题 所以我有一个用 JsTree 创建的复选框树。 我想要做的是将所有复选框最初设置为禁用,然后我有一个包含 li 标签 ID 的数组。 通过浏览表格,我应该启用属于具有特定 id 的标签的复选框。 选中时,树应遵循与默认顺序相同的顺序(当父选中启用子项时也应选中......等)。 我该如何继续? 提前致谢。 PS:JsTree 插件很棒。 然而,它缺乏大量的文档。 回答1 您应该覆盖check_node和uncheck_node函数的默认行为,并创建自己的禁用节点类型。 编码: $('#tree').jstree({ 'plugins' : ['themes', 'html_data', 'checkbox', 'types'], 'checkbox' : { 'two_state' : true // Nessesary to disable default checking childrens }, "types" : { "types": { "disabled" : { // Defining new type 'disabled' "check_node" : false, "uncheck_node" : false }, "default" : { // Override default functionality "check_node" : function
  • How to place checkboxes in a tree?
    Can someone suggest how can I place check boxes against each folder of the below tree hierarchy? I am trying to add check-boxes but it is not showing up in my tree shown below. Please suggest the changes i need to make for my below code to get the checkbox displayed. This is a working code , just copy paste the same in a textpad and open in IE allowing activex. <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-type" content="text/html; charset=UTF-8"/> <link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/dojo/1.7.2/dojo/resources/dojo.css"> <link rel="stylesheet" href="http
  • 如何以编程方式创建和使用来自 ASP.NET 的复选框列表?(How to programmatically create and use a list of checkboxes from ASP.NET?)
    问题 我有一个包含内容表的页面,我需要允许用户选择要处理的行。 我已经想出了如何向表格中添加一列复选框,但我似乎无法弄清楚如何测试提交表单时它们是否被选中。 如果它们是静态元素,我将能够只检查 do this.theCheckBox但它们是以编程方式生成的。 此外,我对如何将我的数据附加到它们(通过将其塞入 ID 属性中)的方式也不太满意。 我不确定它是否相关,但我正在查看一些 catch-22,因为我需要知道在我重新运行创建它们的代码之前检查了上次创建的哪些复选框。 编辑:我找到了一个几乎解决方案。 通过设置AutoPostBack属性和CheckedChanged事件: checkbox.AutoPostBack = false; checkbox.CheckedChanged += new EventHandler(checkbox_CheckedChanged); 对于任何已更改的复选框,我可以在回发时调用代码。 然而这有两个问题: 在我需要使用此信息的Page_Load之后(或期间,我不确定)处理回调不会为在页面加载时选中且仍然选中的复选框调用回调。 编辑2: 我最终做的是用一个知道前缀标记我所有的 ID 并将其填充在Form_Load的顶部: foreach (string v in this.Request.Form.AllKeys) { if (v
  • 如何使 JPanel 的组件作为 JTree 中的节点可用?(How do you make components of JPanel as a node in JTree usable?)
    问题 当我单击 JButton 时,什么也没有发生。 这甚至适用于我放入的 JScrollPane(它显示,但不会滚动)。 为什么JPanel不在前面? 我觉得有些东西必须被覆盖。 应该是不是箭头的部分的展开? 如果是这样,那是如何完成的? import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.*; import javax.swing.tree.*; public class test { public test() { JTree tree = createTree(); tree.setToggleClickCount(0); tree.setRowHeight(50); tree.setCellRenderer(new PanelRenderer()); JFrame f = new JFrame(); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.add(new JScrollPane(tree)); f.setSize(400, 400); f.setLocation(200, 200); f.setVisible(true); } private
  • Java Swing UI属性列表? [关闭](List of Java Swing UI properties? [closed])
    问题 关闭。 此问题不符合堆栈溢出准则。 它当前不接受答案。 想要改善这个问题吗? 更新问题,使它成为Stack Overflow的主题。 3年前关闭。 改善这个问题 似乎可以设置大量的UI属性 UIManager.put("key", value); 是否可以设置所有键的列表? 回答1 它取决于Java实现。 这是您可以运行以查看所有可用属性及其当前值的简单代码。 public static void main(String[] args) { UIDefaults defaults = UIManager.getDefaults(); System.out.println(defaults.size()+ " properties defined !"); String[ ] colName = {"Key", "Value"}; String[ ][ ] rowData = new String[ defaults.size() ][ 2 ]; int i = 0; for(Enumeration e = defaults.keys(); e.hasMoreElements(); i++){ Object key = e.nextElement(); rowData[ i ] [ 0 ] = key.toString(); rowData[ i ] [ 1 ] = ""
  • 如何在javaScript中实现分层的多级数据表?(How to implement hierarchical multilevel datatable in javaScript?)
    问题 我在不使用任何插件或库的情况下实现多级数据表。 我想基于javaScript,JQuery或angular js实现。 我检查了以下链接之一, 使用JavaScript遍历JSON对象树的所有节点使用ng-repeat嵌套表格 但是我的json结构与上面的链接不同。 我需要在“树形结构” UI中显示我的JSON。 我没有html的硬编码级别。 所有级别都应使用javascript处理。 我已实现jsfiddle:http://jsfiddle.net/varunPes/0n9fmawb/40/ JSON结构 [ { Home:{ "checkbox_view":true, "checkbox_edit":false, "checkbox_delete":true } }, { "watchColorWorld":{ "local":{ "app-local-black":{ "checkbox_view":true, "checkbox_edit":true, "checkbox_delete":true } }, "global":{ "app-global-red":{ "checkbox_view":true, "checkbox_edit":true, "checkbox_delete":true } }, "world":{ "app-world-green":{
  • How Can I add checkbox in ttk Treeview
    I searched very much for this answer,Then I came to know that we can't embedded widgets into Treeview But I found the Features of Treeview. In this below Features It is telling that Treeview will support of including checkbox also. Here is a list of TreeView features: Auto-sizing column widths and row heights. Hide/move columns or nodes. Sortable by columns or sub-trees. External data storage (in a blt::tree). Multiple TreeViews can share all a tree. Easy to use dynamic loading (for sub-trees). Support for multiple style types, including: -> textbox: text cell with optional images. *->
  • 如何在 ttk Treeview 中添加复选框(How Can I add checkbox in ttk Treeview)
    问题 我搜索了很多这个答案,然后我才知道我们不能将小部件嵌入到Treeview中,但我找到了Treeview的功能。 在下面的功能中,Treeview 也将支持包含复选框。 以下是 TreeView 功能的列表: Auto-sizing column widths and row heights. Hide/move columns or nodes. Sortable by columns or sub-trees. External data storage (in a blt::tree). Multiple TreeViews can share all a tree. Easy to use dynamic loading (for sub-trees). Support for multiple style types, including: -> textbox: text cell with optional images. *-> checkbox: a boolean value.* -> combobox: a multi-choice value. -> barbox: numeric value with progress bar. -> windowbox: arbitrary embedded windows. Styles can be
  • 谷歌可视化表中的复选框(checkbox in google visualization table)
    问题 请参考以下链接:http://jsfiddle.net/RjHMH/46/ 我正在使用google visualization table ,并制作一个像上面一样的tree table 。 child row某些列,我附加了html复选框。 我面临的问题是,如果我点击checkbox ,它永远不会被选中。 这是因为在table listener ,每次触发select事件时,都会重绘 table。 我查看了google visualization table API,并找到了这个: 请注意,表格图表仅触发行选择事件; 但是,代码是通用的,可用于行、列和单元格选择事件。 这意味着如果我单击一行中的一列,我永远无法知道我实际单击了哪一列? 所以我无法通过id获取checkbox ,并使用 javascript 进行checked ? 真烂... 回答1 实际上,一旦触发 select 事件, getSelection()函数就不会保留column 。 但是您可以考虑使用以下方法在重新绘制图表后保留复选框状态。 首先,我们需要引入用于存储复选框状态的对象: var checkboxStates = {'cbox1' : false, 'cbox2': false}; 然后我们注册ready事件以在谷歌图表被重绘后保存/加载状态: google.visualization
  • WPF 树视图和复选框(WPF TreeView and Checkbox)
    问题 有人如何将复选框仅添加到 XAML 中树视图的子级? 我的目标是拥有一个树视图,其中父级只是一个文本块,所有子级都是复选框,但一次只能选中一个子级。 我在整个树视图复选框中没有问题,但我不确定如何获得我真正想要的任何建议? 谢谢。 回答1 试试这个 在 WPF 树视图中使用复选框。 回答2 为什么不直接用代码来做呢? 像这样: TreeViewItem newItem = new TreeViewItem() { Header = "One" }; treeViewObjects.Items.Add(newItem); TreeViewItem newItem1 = new TreeViewItem() { Header = new CheckBox() { Content = "Two" } }; newItem.Items.Add(newItem1); 回答3 执行此操作的最简单方法是塑造您的数据,以便树视图可以按照您描述的方式表示它。 以下是与您的树类型相对应的最小数据结构示例: public class CheckedList { public string Title { get; set; } public ObservableCollection<CheckedItem> Items { get; private set; } public
  • 在 MATLAB 中启用/禁用 uitabs(Enable/Disable uitabs in MATLAB)
    问题 我在我的 GUI 中的 matlab 中使用 uitab 组。 然而,UItabgroup 的一个限制是没有启用/禁用功能。我尝试通过使用 matlab 社区 findjObject 中的函数来使用其他替代方法 我使用以下方法使用上述功能来做到这一点。 jtabgroup=findjobj(tabgroup); jtabgroup.setEnableAt(false); % also I tried turning enable off for % for individual tabs using setEnabledAt(1,0) 我收到以下错误 Undefined function 'setEnabled' for input arguments of type 'handle.handle'. 有人可以帮助我解决这个问题或建议我启用/禁用选项卡的一些替代方法。 回答1 您可以而且应该使用出色的 GUI 布局工具箱而不是uitab 。 它允许您有选择地禁用开箱即用的选项卡,更不用说大量其他有用的功能了。 FEX 上有两个提交,一个用于 HG1( uiextras包),另一个用于 HG2( uix包,具有向后兼容的uiextras接口)。 这是 HG2 示例。 您需要将TabEnables属性设置为一组'on' / 'off'值,每个选项卡一个(不是最用户友好的 API
  • 尚硅谷在线教育项目权限管理模块中bug的解决
    文章的原文链接 https://www.qiwu.ga/archives/gulibug 在线教育项目后台系统权限管理模块bug修复 这次的问题有这几点: 树型表格不能加载: 想用树型表格来加载权限列表但是死活不能展开也找不到按钮, 确认了api已经返回了正确的Json数据. 复选框全选与单选的对应效果不匹配: 用户角色分配功能区, 在为用户分配角色的时候发现勾选全选复选框之后剩下的复选框没有被选中的效果; 反之, 其余复选框全部勾选后,全选复选框没有选中效果. 用户登录系统选左侧菜单重复加载 用户使用非超级管理员身份登录不能显示左侧菜单: 确认是api返回数据中"data"属性为空. 1. 树型表格不能加载的解决 ElementUI版本太低需要升级 npm uninstall element-ui -S npm install element-ui -S 2. 复选框Bug的解决 本项目来源于B站项目, 项目来源: 整合SpringSecurity 建议,可以把data()中绑定的isIndeterminate: false初始化为这样,默认什么都不选中. 否则在没有任何复选框被选中情况下全选复选框默认是"-". ps.你们的代码可能全是Cities什么城市有关的变量,我这里为了看着舒服我自行修改了变量, 变成Items相关的变量. 全选复选框: <el-checkbox
  • 带有 JCheckBox 节点的 JTree 渲染(JTree rendering with JCheckBox nodes)
    问题 我正在尝试修改标准 Swing JTree 以混合带有和不带有复选框的节点。 这是一个例子: 当我尝试选中/取消选中其中一个复选框(本示例中的“用户 01”节点)时,树会丢失节点: 我的代码是对这个例子的改编:http://forums.sun.com/thread.jspa?threadID=5321084&start=13。 而不是像这样在 DefaultMutableTreeNode 中嵌入 JCheckBox: new DefaultMutableTreeNode(new CheckBoxNode("Accessibility", true)); 我认为创建一个派生自 DefaultMutableTreeNode 的模型节点更有意义,我称之为 JTreeNode。 此类自动将 DefaultMutableTreeNode 的 UserObject 设置为 JCheckBox。 TreeCellRenderer 使用类的 ShowCheckBox 属性来确定是使用 JCheckBox 还是 DefaultTreeCellRenderer。 JTreeNode 是这样使用的: JTreeNode user01 = new JTreeNode("User 01"); user01.setShowCheckBox(true); user01.setSelected(true)
  • 如何在Python中使用复选框创建树形视图(How to create a tree view with checkboxes in Python)
    问题 我一直在使用Tkinter和Tix编写一个小程序。 我需要一个带有复选框(复选框)的树视图,以便可以从树视图中选择项目。 是否有捷径可寻? 我一直在看ttk.Treeview(),看起来很容易得到树视图,但是有没有办法在视图中插入一个检查按钮呢? 一个简单的代码片段将不胜感激。 我不仅限于ttk。 一切都会做; 只要我有一个例子或好的文档,我就可以使它工作 回答1 import Tix class View(object): def __init__(self, root): self.root = root self.makeCheckList() def makeCheckList(self): self.cl = Tix.CheckList(self.root, browsecmd=self.selectItem) self.cl.pack() self.cl.hlist.add("CL1", text="checklist1") self.cl.hlist.add("CL1.Item1", text="subitem1") self.cl.hlist.add("CL2", text="checklist2") self.cl.hlist.add("CL2.Item1", text="subitem1") self.cl.setstatus("CL2", "on")
  • WPF TreeView with CheckBox - 如何获取选中的列表?(WPF TreeView with CheckBox - How to Get the list of Checked?)
    问题 我已经实现了带有复选框的 TreeView 从这里我表现得非常好。 现在我想知道从树中获取选定/选中项目的列表。 我相信我需要编写一个递归方法。 但是作者将递归方法GetTree()设置为静态,我无法获得任何开始递归的线索。 类似的文章也在这里找到,我在那里也找到了解决我的问题的方法,但没有任何帮助。 我在这里附上整个代码供您参考: public class TreeViewModel : INotifyPropertyChanged { public TreeViewModel(string name) { Name = name; Children = new List<TreeViewModel>(); } #region Properties public string Name { get; private set; } public List<TreeViewModel> Children { get; private set; } public bool IsInitiallySelected { get; private set; } bool? _isChecked = false; TreeViewModel _parent; #region IsChecked public bool? IsChecked { get { return
  • Multiple Controls needed in JavaFX Tree Table Cell
    I'm needing different editable controls in a JavaFX TreeTableCell based on an enum attribute value of the row object. In different cases I need a DatePicker, a TextField, a CheckBox, a ComboBox, or a simple non editable Text field. I've extended TreeTableCell and overridden the updateItem to handle different cases but that is getting very cumbersome. Is it possible to create a custom CellFactory Callback to return different subclassed TreeTableCells based on attributes of the row object? How might I go about doing this? public class MyCellFactory implements Callback<TreeTableColumn<MyField