1
A
回答
0
- 第一:您需要設置一個對象(用自己的財產)的節點下面的方法:
Group aGroup = new Group(); //Obviously use your correct constructor
DefaultMutableTreeNode node = new DefaultMutableTreeNode(yourObject);
記住實施toString
組中的方法
- 第二個:創建一個擴展DefaultTreeCellRenderer
一個新的類並覆蓋getTreeCellRendererComponent
這樣的:
public class MyRenderer extends DefaultTreeCellRenderer {
@Override
public Component getTreeCellRendererComponent(JTree tree, Object value,
boolean sel, boolean exp, boolean leaf, int row, boolean hasFocus) {
DefaultMutableTreeNode node = (DefaultMutableTreeNode) value;
if(node.getUserObject().getYourProperty()){
setTextNonSelectionColor(Color.BLACK);
setBackgroundSelectionColor(Color.BLUE);
setTextSelectionColor(Color.WHITE);
setBorderSelectionColor(Color.WHITE);
}
else{
setTextNonSelectionColor(Color.LIGHT_GRAY);
setBackgroundSelectionColor(Color.RED);
setTextSelectionColor(Color.WHITE);
setBorderSelectionColor(Color.WHITE);
}
super.getTreeCellRendererComponent(
tree, value, sel, exp, leaf, row, hasFocus);
return this;
}
}
- 第三:你的渲染器設置爲樹:
yourTree.setCellRenderer(new MyRenderer());
0
難道你不可能使用這樣的東西?不確定的實用性,而不是測試它
tree.addMouseListener (new MouseAdapter(){
public void mousePressed (MouseEvent e){
// Check for right click
if (SwingUtilities.isRightMouseButton(e)){
int selection[] = tree.getSelectionRows();
for(int i=0; i< selection.size; i++){
tree.removeSelectionInterval(selection[i], selection[i]);
}
}
}
相關問題
- 1. 禁用某些節點
- 2. 僅禁用某些關鍵字的Perl語法突出顯示
- 3. 突出顯示matplotlib矩陣上的某些點
- 4. 禁用cytoscape.js中節點和邊緣的突出顯示
- 5. Highcharts選擇事件禁用突出顯示效果
- 6. Solr突出顯示某些html字符
- 7. Solr不突出顯示某些詞
- 8. 使用jquery突出顯示效果
- 9. 更改Nimbus LaF處理突出顯示的JTree節點的方式
- 10. JTree不顯示添加的節點
- 11. JTree TreeCellRenderer不突出顯示選擇
- 12. d3js突出顯示連接的節點
- 13. 點擊時如何突出顯示某些元素?
- 14. 如何在迴歸中突出顯示某些點
- 15. Jtree在添加節點時未顯示!
- 16. 如何突出顯示樹節點
- 17. smartgwt突出顯示樹節點文本
- 18. 突出顯示SWT樹節點
- 19. jQuery手機突出顯示效果
- 20. 谷歌翻譯突出顯示效果
- 21. IOS8 UIButton突出顯示效果
- 22. jquery效果突出顯示不工作
- 23. JTree顯示與子節點相同的節點
- 24. 如何在MVCSiteMapProvider的某些節點上禁用緩存?
- 25. 如何禁用某些HTML元素上的縮放效果第
- 26. 複製某個節點的JTree
- 27. 在bootstrap-datepicker上突出顯示某些日期
- 28. 在Android上突出顯示某些日期CalendarView
- 29. 如何在android日曆上突出顯示某些日期
- 30. Resharper插件突出顯示在某些類型上失敗
你可能想使用[JTree的選擇監聽器] (http://docs.oracle.com/javase/tutorial/uiswing/events/treeselectionlistener.html) – SuperRetro
@SuperRetro:你確定嗎?這看起來更像是TreeCellRenderer的一項工作。 –
更改文字樣式的示例。希望你從那裏得到一些想法。 http://stackoverflow.com/questions/10976594/changing-text-style-of-defaultmutabletreenode – anonymous