0
我有一個簡單的二叉樹打印機:格式的JLabel - JTextBox
public String displayTree(){
if(root != null){
return this.toString(new StringBuilder(), true, new StringBuilder(), root).toString();
}else{
return "Empty tree";
}
}
private StringBuilder toString(StringBuilder prefix, boolean isLeft, StringBuilder sb, BinaryNode<T> node) {
if(node.getRight() !=null) {
toString(new StringBuilder().append(prefix).append(esIzquierdo ? "│ " : " "), false, sb, node.getRight());
}
sb.append(prefix).append(isLeft? "└── " : "┌── ").append(node.getItem().toString()).append("\n");
if(node.getLeft() != null) {
toString(new StringBuilder().append(prefix).append(esIzquierdo ? " " : "│ "), true, sb, node.getLeft());
}
return sb;
}
如果我在Eclipse控制檯運行它,我得到:
│ ┌── K
│ ┌── F
│ │ │ ┌── L
│ │ └── J
│ ┌── C
│ │ │ ┌── I
│ │ └── E
└── A
│ ┌── H
│ ┌── D
│ │ └── G
└── B
我的問題是,我試圖顯示它在一個用戶界面上,所以當我把它放在JLabel上它不起作用時,我嘗試用它格式化它,而不是\ n - > < br>但它也不起作用,什麼是最好的方法做到這一點?我嘗試過使用JFormattedTextField,但它似乎不起作用。
謝謝。
像這可能是要在圖形環境中很好地工作的文本表示,相反,你可以考慮自定義組件,可以繪製結構本身或JTree – MadProgrammer