2014-06-06 4 views
0

JTextPane을 사용하여 만든 텍스트 편집기가 있습니다. 텍스트는 html로 저장되므로 JTextPane과 함께 HtmlEditorKit을 사용하고 있습니다. 사용자는 Microsoft Word 문서의 텍스트를 텍스트 편집기로 복사 할 수 있기를 원합니다. 지금 편집자에게 텍스트를 복사하려고하면 텍스트가 나타나지 않고 텍스트가 나타나지 않습니다. 그러나 메모장에서 복사 할 때 작동합니다.Microsoft Word에서 JTextPane으로 텍스트 복사하기

Word와 같은 프로그램의 텍스트를 삽입 할 수없는 JTextPane 또는 HtmlEditorKit (또는 HtmlDocument)에 대한 것이 있습니까?
해결 방법이 있습니까?

+2

약 클립 보드 clipboard = Toolkit.getDefaultToolkit(). getSystemClipboard(); ' – mKorbel

+0

'에 대한 검색 Word의'selection' 개체를 사용해 보셨습니까? 이 도구를 사용하면 프로그래밍 방식으로 문서의 범위를 선택한 다음 선택한 텍스트를 클립 보드에 복사 할 수 있습니다. [MSDN link] (http://msdn.microsoft.com/en-us/library/microsoft.office.interop.word.selection. aspx) – user3165438

+0

http://stackoverflow.com/questions/15611562/adding-custom-shapes-to-jtextpane-and-saved-to-new-word-document에서 답변을 참조하십시오. – JasonPlutext

답변

1

그럼 복잡한 질문입니다.

Word는 text/plain, text/html, text/rtf 및 Word의 내부 형식 등 다른 형식을 사용하여 텍스트를 클립 보드에 복사합니다. 이러한 모든 형식은 클립 보드에서 같은 시간에 있습니다. 따라서 각각을 사용하여 텍스트 창에 붙여 넣을 수 있습니다. 텍스트 창은 HTML 형식을 사용하여 클립 보드에서 텍스트를 삽입하려고합니다. 문제는 HTMLEditorKit가 Word에서 생성 된 HTML 언어를 이해할 수 없다는 것입니다.

뭘 할 수 있습니까? 형식이 지정된 텍스트를 지원하지 않아도되는 경우 텍스트/평면 형식을 사용하는 자체 붙여 넣기 동작을 구현할 수 있습니다. 다른 경우에는 Word에서 생성 된 HTML을 지원하는 고유 한 HTML (또는 RTF) 파서를 작성할 수 있다는 것을 제외하고는 직접 해결책이 없습니다.

관련 문제