如何使用基于缩进的文本设置JTree模型?

时间:2014-10-27 18:46:17

标签: java swing jtree

我知道可以在属性部分使用此表单设置JTree的模型:

http://i.imgur.com/jqE4i6x.png

它采用左侧区域中的文本并基于缩进,创建节点。

我的问题是:如果我有一个缩进的文本,如左边的文本(例如,在文件中),我想将它作为参数传递给代码中的模型,我该怎么办?我想我可以手动解析它,但我发现它可以从图形表单中完成,所以必须有一个已经实现的方法,我可以调用,对吧?

2 个答案:

答案 0 :(得分:0)

尝试

BasicTreeUI basicTreeUI = (BasicTreeUI) myJTree.getUI();
basicTreeUI.setRightChildIndent(10); 

如果这不起作用,我通常会这样做(但这取决于你的目的)

// retrieve the HashMap of Default properties.  
UIDefaults uiDefs = UIManager.getDefaults();  
// now replace the one we want to change.  
uiDefs.put("Tree.leftChildIndent" , new Integer( x ) );  

答案 1 :(得分:0)

您应该(a)实现自己的TreeModel(请参阅oracle tutorial on trees)或(b)获取IDE的源代码并从中剪切适当的类。