目前我有一個生成樹的程序。我使用https://stackoverflow.com/a/8948691來獲取樹的字符串輸出。對於這一點,我微微的鏈接改變了功能:除了使用System.out.println
我重寫了代碼,以適應我的要求:顯示等寬字體的樹(如在記事本中)
public String getStringRepresentation(String prefix, boolean end, int position)
{
String retval = prefix + (position != -1? (end ? "└──" : "├──") + " " + position +(branches==null? "[" + content + "]" : ""):"") + "\r\n";
if(branches != null)
{
for (int i = 0; i < branches.size() - 1; i++) {
retval += branches.get(i).getStringRepresentation(prefix + (end ? " " : "│ "), false,i);
}
if (branches.size() >= 1) {
retval += branches.get(branches.size() - 1).getStringRepresentation(prefix + (end ?" " : "│ "), true,branches.size() - 1);
}
}
return retval;
}
的示例文本輸出將
├── 0
│ ├── 0[F]
│ └── 1
│ ├── 0[V]
│ └── 1[A]
└── 1
├── 0[D]
└── 1[S]
這個字符串我展示以下:
JTextArea textarea = new JTextArea(infoMessage);
textarea.setFont(new Font("monospaced", Font.PLAIN, 14));
JOptionPane.showMessageDialog(null, textarea);
,看起來像這樣:
(正如你所看到的,走線不應該的。)
我們是否應該GESS你寫的代碼,並猜測輸出的樣子以及它應該是什麼樣子? –
考慮向我們展示代碼,最好是[最小完整有效示例](http://stackoverflow.com/help/mcve)。請顯示所需的輸出和當前輸出。 –
對不起,我更新了帖子 – Stefan