我有一个风俗JTree
和一个风俗JModel
;当我给它一个新模型时,我希望JTree能够“自动扩展”。目前,它只是将所有节点折叠到根目录。
这是一个例子:
private class CustomTree extends JTree {
@Override
public boolean isExpanded(TreePath path) {
return ((Person) path.getLastPathComponent).hasChildren();
}
private class CustomTreeModel extends TreeModel {
// ... omitting various implementation details
@Override
public boolean isLeaf(Object object) {
return !((Person) object).hasChildren();
}
}
Model model = new Model();
Person bob = new Person();
Person alice = new Person();
bob.addChild(alice);
model.setRoot(bob);
JTree tree = new CustomTree(new CustomTreeModel(model));
此时,树将正确显示:
- BOB
- ALICE
其中Alice是Bob的孩子(在数据和可视树中)
但是,如果我打电话:
tree.setModel(new CustomTreeModel(model));
一切都崩溃了:
+ BOB
设置新模型时,有没有一种方法可以“自动扩展”树中的所有内容?
我有一个类似的问题。
您的解决方案似乎仅对顶级树节点适用。
但是我需要扩展所有后代节点。所以我用下面的递归方法解决了它:
private void expandAllNodes(JTree tree, int startingIndex, int rowCount){
for(int i=startingIndex;i<rowCount;++i){
tree.expandRow(i);
}
if(tree.getRowCount()!=rowCount){
expandAllNodes(tree, rowCount, tree.getRowCount());
}
}
被调用
expandAllNodes(tree, 0, tree.getRowCount());
在哪里,tree
是JTree
。
除非有人有更好的解决方案。
你可以通过 nuxt.config.js 文件中的 extend 配置项来扩展 Webpack 的配置: module.exports = { build: { extend (config, { isDev, isClient }) { // ... } } }
This is a continuation of the basic installation, please read that first! 这是基本安装的继续,请先阅读那个文件! A slightly more flexible way to setup Smarty is to extend the class and initialize your Smarty environment
问题内容: 实现类时,我的问题非常简单。(因为Eclipse和IDEA可以为我们生成)。 但是,当您扩展课程时,我不知道该怎么做。(当然,这项工作不是必须的,但是我想确定在代码中要做什么,因此此选项将很有帮助)。 谢谢 :) 问题答案: 对于Eclipse,进入Source菜单()-> Override / Implement Methods …,这将为您提供所有可以@overriden的方法的列
问题内容: 我希望我的chrome扩展程序每次在扩展文件夹中保存文件时都可以重新加载,而不必在chrome:// extensions /中明确单击“重新加载”。这可能吗? 编辑:我知道我可以更新Chrome重新加载扩展的间隔,这是一个半途而废的解决方案,但是我宁愿让我的编辑器(emacs或textmate)触发保存重新加载或要求Chrome进行监视更改目录。 问题答案: 您可以使用 “ 扩展Re
每个桌面浏览器都有一套开发工具,开箱即用,您可以将他们添加到您的浏览器的扩展或插件。 以下是两个具有一些实用功能的Chrome扩展程序,可帮助您调试设计。 Emmet Re:View Emmet Re:View是一个工具,它可以让你轻松查看您的网站在每个媒体查询(media queries)中的样子,并同步所有页面的滚动。 你可以在他们的网站上看到它的演示。 Download on the Chr
该扩展能根据Scrapy服务器及您爬取的网站的负载自动限制爬取速度。 设计目标 更友好的对待网站,而不使用默认的下载延迟0。 自动调整scrapy来优化下载速度,使得用户不用调节下载延迟及并发请求数来找到优化的值。 用户只需指定允许的最大并发请求数,剩下的都交给扩展来完成。 扩展是如何实现的 在Scrapy中,下载延迟是通过计算建立TCP连接到接收到HTTP包头(header)之间的时间来测量的。