2009-07-29 4 views
1

소스에서 텍스트를 일반 텍스트로 가져 와서 JTextPane 또는 JEditorPane에 표시해야합니다. 원본 텍스트는 HTML이 아니며 하이퍼 링크로 표시되고 작동해야하는 대괄호 사이에 URL을 포함합니다.HTML없이 java의 JTextPane에 링크를 표시

텍스트의 내용 유형을 text/html로 설정하고 url을 HTML 태그로 바꾸는 것을 고려했지만 나쁜 점은 개행 문자를 무시하므로 결국 바꿀 수있는 방법을 모르겠습니다. 개행 문자는 "<br/>"입니다. 그것을 할 수있는 쉬운 와트가 있습니까?

이렇게하면 전체 문자열을 검색하면 텍스트가 표시되는 방식을 사용자 정의하는 것이 더 낫지는 않습니까?

그래서 나는 starturtle과 같은 EditorKit을 this thread에 작성하는 것과 관련된 경로를 고려했지만 어떻게해야하는지 설명하지 않습니다. this article 코드를 살펴 봤지만 많은 작업이 필요하다고 생각합니다.

아무도이 작업을 수행하지 않았습니다. 어떤 추천? html로 변환하거나 디스플레이를 사용자 정의하는 것이 더 좋습니까?

답변

2

줄 바꿈 문자를 "< br/>"으로 바꾸는 방법을 모르겠습니다. 그것을 할 수있는 쉬운 와트가 있습니까?

당신은 자바 정규식 것을 수행 할 수 있습니다

String raw = "..."; 
    Pattern p = Pattern.compile("\n"); 
    String html = "<HTML>" + p.matcher(raw).replaceAll("<BR>") + "</HTML>" ; 

내가 당신을 위해 당신의 HTML 래퍼를 추가 할 수있는 자유를 가지고있다.


편집 : 그것의 재미를 위해

, 나는 오스카의 지점을 촬영하고 자상을했다했습니다

Pattern p = Pattern.compile("\\[([^\\]]*)\\]"); 
    raw = p.matcher(raw).replaceAll("<a href=\"$1\">$1</a>"); 
+0

+1 @Victor :이 올바른 것입니다. 하이퍼 링크를 처리하는 것은 매우 유사해야합니다 : [a]를 OscarRyz

+0

문자열 바꾸기 메서드를 시도했지만 작동하지 않았습니다. 고마워. – Victor

관련 문제