2017-05-01 8 views
0

나는 간단한 이진 트리 프린터가 그것은 UI에서, 그래서 그것을 작동하지 않는 JLabel에 넣을 때, 나는 < html로 서식을 시도하고 \ n -> < br>하지만 대신 작동하지 않습니다, 가장 좋은 방법은 무엇입니까 그렇게하는거야? JFormattedTextField로 시도했지만 작동하지 않는 것 같습니다.형식 JLabel의 JTextBox

감사합니다.

+0

을 사용하고 있는지 확인하고있다

구조 자체 또는'JTree'를 그릴 수있는 커스텀 컴포넌트 – MadProgrammer

답변

2

가능한 많은 방법이 있습니다. 구조체를 칠할 수있는 사용자 정의 구성 요소를 만들 수 있습니다. JTree을 사용하거나 JTextArea과 같은 것을 사용할 수 있습니다. 트릭은 당신이 아마 그래픽 환경에서 잘 작동하는 것입니다이 같은 텍스트 표현 대신, 당신은을 고려해 고정 폭 글꼴

JTextArea representation

String tree = "│   ┌── K\n" 
     + "│  ┌── F\n" 
     + "│  │ │ ┌── L\n" 
     + "│  │ └── J\n" 
     + "│ ┌── C\n" 
     + "│ │ │ ┌── I\n" 
     + "│ │ └── E\n" 
     + "└── A\n" 
     + " │  ┌── H\n" 
     + " │ ┌── D\n" 
     + " │ │ └── G\n" 
     + " └── B"; 
JTextArea ta = new JTextArea(15, 25); 
ta.setText(tree); 
ta.setFont(new Font("Monospaced", Font.PLAIN, 13)); 
JFrame frame = new JFrame(); 
frame.add(new JScrollPane(ta)); 
frame.pack(); 
frame.setLocationRelativeTo(null); 
frame.setVisible(true);