JavaTM Platform
Standard Ed. 6

javax.swing.text.html
클래스 HTMLDocument.HTMLReader

java.lang.Object 
  상위를 확장 javax.swing.text.html.HTMLEditorKit.ParserCallback 
      상위를 확장 javax.swing.text.html.HTMLDocument.HTMLReader
포함되어 있는 클래스:
HTMLDocument


public class HTMLDocument.HTMLReader
extends HTMLEditorKit.ParserCallback

HTML 문서를 HTML 요소 구조와 함께 로드하기 위한 HTML 리더입니다. 이 클래스는, 퍼서로부터의 콜백세트이며, 속성의 태그가 붙은 요소세트를 생성하기 위해서 구현됩니다. 해석은 필요한 요소 서브 트리를 기술하는 토큰군 (ElementSpec)을 조립해 이것을 기입해 락의 아래에서 문서의 외부 클래스의 삽입 메소드를 사용해 문서에 삽입합니다.

리더를 구성 설정하려면 , 액션을 처리하는 방법을 기술한 HTMLDocument.HTMLReader.TagAction 형의 액션을 등록합니다. 제공되고 있는 액션의 기본이 되어 있는 생각은, 요소 구조가 결국 하등의 서식을 가지는 문자의 줄로부터 완성되는 단락이면, 가장 자연스러운 텍스트의 편집 오퍼레이션을 제공할 수 있다, 라는 것입니다. 구조적으로 지정하는 것이 자연스러운 경우도 있으므로, 단락상에서의 임의의 구조가 허가되도록(듯이) 해야 하고, 그 경우에서도, 구조적인 액션을 사용해 편집할 필요가 있습니다. 즉, 해석중의 스트림로 지정되고 있는 HTML 요소의 일부는, 속성에 꺾어 접어져 경우에 따라서는 단락이 합성됩니다. HTML 요소가 속성에 변환되는 경우, 정보가 없어지지 않게 속성 키는 HTML.Tag 형이 되어, 값은 AttributeSet 형이 됩니다. 이것에 의해, 기존의 액션의 대부분이 기능하게 되어, 사용자는 입력을 키보드로부터 입력하거나 리턴 키, BackSpace 키, Delete 키등을 눌러, 그 적절한 결과를 얻을 수 있습니다. 선택을 생성하거나 속성을 적용하거나 삭제할 수도 있습니다. 이상을 고려한 다음, 리더가 실시하는 작업은 다음과 같은 태스크로 분류할 수 있습니다.

블록
스트림로 지정된 것과 같은 구조를 구성합니다. 이 태스크는, 다른 요소를 포함하는 요소를 생성합니다.
단락
블록과 같습니다만, 단락 요소를 합성하지 않아도 끝나도록(듯이), 요소가 단락 뷰와 함께 사용되는 것을 전제로 하는 점이 다릅니다.
문자
요소를 임의의 텍스트 위치에서 개시해, 다른 임의의 텍스트 위치에서 종료하는 속성으로서 이용합니다. 이것은 최종적으로는, 현재 평탄화 떠날 수 있어 모든 HTML 문자 요소와 함께 1 개의 텍스트중의 문자의 및 통합됩니다.
특별
파묻힌 그래픽 요소를 생성합니다.
형식
매입 그래픽 요소와 같은 요소를 생성합니다. 그래픽 요소와의 차이는, 형식에 관련한 컴퍼넌트 모델도 가지고 있다고 하는 점입니다.
은폐
문서가 읽어내 전용으로 표시되었을 경우는 숨겨져 뷰에는 표시되지 않고, 문서가 편집되는 경우는 표시되는 요소를 생성합니다. 이 태스크를 사용하면(자), 모델로부터 정보가 없어지지 않습니다. 코멘트나 미지의 태그를 포함하기 위해서 사용합니다.

현시점에서는, <APPLET>, <PARAM>, <MAP>, <AREA>, <LINK>, <SCRIPT>, 및 <STYLE> 는 지원되고 있지 않습니다.

HTML.Tag 로 정의되고 있는 태그에 대해서 할당할 수 있고 있는 액션의 기술을 다음에 나타냅니다.

Tag액션
HTML.Tag.A CharacterAction
HTML.Tag.ADDRESS CharacterAction
HTML.Tag.APPLET HiddenAction
HTML.Tag.AREA AreaAction
HTML.Tag.B CharacterAction
HTML.Tag.BASE BaseAction
HTML.Tag.BASEFONT CharacterAction
HTML.Tag.BIG CharacterAction
HTML.Tag.BLOCKQUOTEBlockAction
HTML.Tag.BODY BlockAction
HTML.Tag.BR SpecialAction
HTML.Tag.CAPTION BlockAction
HTML.Tag.CENTER BlockAction
HTML.Tag.CITE CharacterAction
HTML.Tag.CODE CharacterAction
HTML.Tag.DD BlockAction
HTML.Tag.DFN CharacterAction
HTML.Tag.DIR BlockAction
HTML.Tag.DIV BlockAction
HTML.Tag.DL BlockAction
HTML.Tag.DT ParagraphAction
HTML.Tag.EM CharacterAction
HTML.Tag.FONT CharacterAction
HTML.Tag.FORM 1.4 에서는 BlockAction
HTML.Tag.FRAME SpecialAction
HTML.Tag.FRAMESET BlockAction
HTML.Tag.H1 ParagraphAction
HTML.Tag.H2 ParagraphAction
HTML.Tag.H3 ParagraphAction
HTML.Tag.H4 ParagraphAction
HTML.Tag.H5 ParagraphAction
HTML.Tag.H6 ParagraphAction
HTML.Tag.HEAD HeadAction
HTML.Tag.HR SpecialAction
HTML.Tag.HTML BlockAction
HTML.Tag.I CharacterAction
HTML.Tag.IMG SpecialAction
HTML.Tag.INPUT FormAction
HTML.Tag.ISINDEX IsndexAction
HTML.Tag.KBD CharacterAction
HTML.Tag.LI BlockAction
HTML.Tag.LINK LinkAction
HTML.Tag.MAP MapAction
HTML.Tag.MENU BlockAction
HTML.Tag.META MetaAction
HTML.Tag.NOFRAMES BlockAction
HTML.Tag.OBJECT SpecialAction
HTML.Tag.OL BlockAction
HTML.Tag.OPTION FormAction
HTML.Tag.P ParagraphAction
HTML.Tag.PARAM HiddenAction
HTML.Tag.PRE PreAction
HTML.Tag.SAMP CharacterAction
HTML.Tag.SCRIPT HiddenAction
HTML.Tag.SELECT FormAction
HTML.Tag.SMALL CharacterAction
HTML.Tag.STRIKE CharacterAction
HTML.Tag.S CharacterAction
HTML.Tag.STRONG CharacterAction
HTML.Tag.STYLE StyleAction
HTML.Tag.SUB CharacterAction
HTML.Tag.SUP CharacterAction
HTML.Tag.TABLE BlockAction
HTML.Tag.TD BlockAction
HTML.Tag.TEXTAREA FormAction
HTML.Tag.TH BlockAction
HTML.Tag.TITLE TitleAction
HTML.Tag.TR BlockAction
HTML.Tag.TT CharacterAction
HTML.Tag.U CharacterAction
HTML.Tag.UL BlockAction
HTML.Tag.VAR CharacterAction

</html> 가 발견되면(자), Action 는 통지되지 않게 됩니다.


상자의 클래스의 개요
 class HTMLDocument.HTMLReader.BlockAction
           
 class HTMLDocument.HTMLReader.CharacterAction
           
 class HTMLDocument.HTMLReader.FormAction
          폼의 각 컨트롤을 나타내기 위한 요소를 모두 생성해, 폼을 지원하기 위한 액션입니다.
 class HTMLDocument.HTMLReader.HiddenAction
           
 class HTMLDocument.HTMLReader.IsindexAction
           
 class HTMLDocument.HTMLReader.ParagraphAction
           
 class HTMLDocument.HTMLReader.PreAction
           
 class HTMLDocument.HTMLReader.SpecialAction
           
 class HTMLDocument.HTMLReader.TagAction
          태그의 구문 분석에 응해 실행되는 액션입니다.
 
필드의 개요
protected  MutableAttributeSet charAttr
           
protected  Vector <DefaultStyledDocument.ElementSpec > parseBuffer
           
 
클래스 javax.swing.text.html. HTMLEditorKit.ParserCallback 로부터 상속된 필드
IMPLIED
 
생성자 의 개요
HTMLDocument.HTMLReader (int offset)
           
HTMLDocument.HTMLReader (int offset, int popDepth, int pushDepth, HTML.Tag  insertTag)
           
 
메소드의 개요
protected  void addContent (char[] data, int offs, int length)
          현재의 문자 속성을 가지는 텍스트를 추가합니다.
protected  void addContent (char[] data, int offs, int length, boolean generateImpliedPIfNecessary)
          현재의 문자 속성을 가지는 텍스트를 추가합니다.
protected  void addSpecialElement (HTML.Tag  t, MutableAttributeSet  a)
          기본적으로 속성 세트 전체로 지정되고 있는 컨텐츠를 추가합니다.
protected  void blockClose (HTML.Tag  t)
          해석 버퍼에 명령을 추가해, 지정한 형태의 블록 요소를 닫습니다.
protected  void blockOpen (HTML.Tag  t, MutableAttributeSet  attr)
          해석 버퍼에 명령을 추가해, 지정한 속성을 가지는 블록 요소를 생성합니다.
 void flush ()
          HTML 리더로 불려 가는 마지막 메소드입니다.
 void handleComment (char[] data, int pos)
           
 void handleEndOfLineString (String  eol)
          스트림의 해석이 종료해,flush 의 전에 불려 갑니다.
 void handleEndTag (HTML.Tag  t, int pos)
          퍼서로부터의 콜백입니다.
 void handleSimpleTag (HTML.Tag  t, MutableAttributeSet  a, int pos)
          퍼서로부터의 콜백입니다.
 void handleStartTag (HTML.Tag  t, MutableAttributeSet  a, int pos)
          퍼서로부터의 콜백입니다.
 void handleText (char[] data, int pos)
          텍스트 블록이 발견된 것을 나타내기 위해서(때문에), 퍼서에 의해 불려 갑니다.
protected  void popCharacterStyle ()
          이전에 푸쉬 한 문자 스타일을 스택으로부터 팝 해, 이전의 문자 스타일에 되돌립니다.
protected  void preContent (char[] data)
          PRE 요소로 검출된 지정된 컨텐츠를 추가합니다.
protected  void pushCharacterStyle ()
          새로운 상자의 문자 스타일을 작성할 준비로서 현재의 문자 스타일을 스택에 푸쉬 합니다.
protected  void registerTag (HTML.Tag  t, HTMLDocument.HTMLReader.TagAction  a)
          지정한 태그의 핸들러를 등록합니다.
protected  void textAreaContent (char[] data)
          텍스트 영역 문서로 지정된 컨텐츠를 추가합니다.
 
클래스 javax.swing.text.html. HTMLEditorKit.ParserCallback 로부터 상속된 메소드
handleError
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

필드의 상세

parseBuffer

protected Vector <DefaultStyledDocument.ElementSpec > parseBuffer

charAttr

protected MutableAttributeSet  charAttr
생성자 의 상세

HTMLDocument.HTMLReader

public HTMLDocument.HTMLReader(int offset)

HTMLDocument.HTMLReader

public HTMLDocument.HTMLReader(int offset,
                               int popDepth,
                               int pushDepth,
                               HTML.Tag  insertTag)
메소드의 상세

flush

public void flush()
           throws BadLocationException 
HTML 리더로 불려 가는 마지막 메소드입니다. 보류 상태에 있는 변경이 문서에 플래시 되도록(듯이) 합니다. 현재, 동기적으로 로드하고 있기 (위해)때문에, 변경세트 전체가 이 시점에서 반영됩니다.

오버라이드(override):
클래스 HTMLEditorKit.ParserCallback 내의 flush
예외:
BadLocationException

handleText

public void handleText(char[] data,
                       int pos)
텍스트 블록이 발견된 것을 나타내기 위해서(때문에), 퍼서에 의해 불려 갑니다.

오버라이드(override):
클래스 HTMLEditorKit.ParserCallback 내의 handleText

handleStartTag

public void handleStartTag(HTML.Tag  t,
                           MutableAttributeSet  a,
                           int pos)
퍼서로부터의 콜백입니다. 이 태그의 적절한 핸들러에 전달합니다.

오버라이드(override):
클래스 HTMLEditorKit.ParserCallback 내의 handleStartTag

handleComment

public void handleComment(char[] data,
                          int pos)
오버라이드(override):
클래스 HTMLEditorKit.ParserCallback 내의 handleComment

handleEndTag

public void handleEndTag(HTML.Tag  t,
                         int pos)
퍼서로부터의 콜백입니다. 이 태그의 적절한 핸들러에 전달합니다.

오버라이드(override):
클래스 HTMLEditorKit.ParserCallback 내의 handleEndTag

handleSimpleTag

public void handleSimpleTag(HTML.Tag  t,
                            MutableAttributeSet  a,
                            int pos)
퍼서로부터의 콜백입니다. 이 태그의 적절한 핸들러에 전달합니다.

오버라이드(override):
클래스 HTMLEditorKit.ParserCallback 내의 handleSimpleTag

handleEndOfLineString

public void handleEndOfLineString(String  eol)
스트림의 해석이 종료해,flush 의 전에 불려 갑니다. eol 는, 스트림의 해석중에 가장 많이 검출되는 \n, \r , \r\n 의 머지않아인가입니다.

오버라이드(override):
클래스 HTMLEditorKit.ParserCallback 내의 handleEndOfLineString
도입된 버젼:
1.3

registerTag

protected void registerTag(HTML.Tag  t,
                           HTMLDocument.HTMLReader.TagAction  a)
지정한 태그의 핸들러를 등록합니다. 디폴트에서는, 기존의 태그는 모두 등록되어 있습니다. 특정의 태그의 처리를 변경하거나 커스텀 태그의 지원를 추가하거나 하는데 사용됩니다.


pushCharacterStyle

protected void pushCharacterStyle()
새로운 상자의 문자 스타일을 작성할 준비로서 현재의 문자 스타일을 스택에 푸쉬 합니다.


popCharacterStyle

protected void popCharacterStyle()
이전에 푸쉬 한 문자 스타일을 스택으로부터 팝 해, 이전의 문자 스타일에 되돌립니다.


textAreaContent

protected void textAreaContent(char[] data)
텍스트 영역 문서로 지정된 컨텐츠를 추가합니다. 이 메소드는, 텍스트 영역 문맥으로 불려 갑니다. 따라서, 표시되는 텍스트는 모두 텍스트 영역에 속해, 그 텍스트 영역에 관련한 TextAreaDocument 에 추가됩니다.


preContent

protected void preContent(char[] data)
PRE 요소로 검출된 지정된 컨텐츠를 추가합니다. 일련의 텍스트를 보관 유지하기 위한 행을 합성해, addContent 를 호출해 실제로 텍스트를 추가합니다.


blockOpen

protected void blockOpen(HTML.Tag  t,
                         MutableAttributeSet  attr)
해석 버퍼에 명령을 추가해, 지정한 속성을 가지는 블록 요소를 생성합니다.


blockClose

protected void blockClose(HTML.Tag  t)
해석 버퍼에 명령을 추가해, 지정한 형태의 블록 요소를 닫습니다.


addContent

protected void addContent(char[] data,
                          int offs,
                          int length)
현재의 문자 속성을 가지는 텍스트를 추가합니다.

파라미터:
data - 추가하는 컨텐츠
offs - 초기 오프셋(offset)
length - 길이

addContent

protected void addContent(char[] data,
                          int offs,
                          int length,
                          boolean generateImpliedPIfNecessary)
현재의 문자 속성을 가지는 텍스트를 추가합니다.

파라미터:
data - 추가하는 컨텐츠
offs - 초기 오프셋(offset)
length - 길이
generateImpliedPIfNecessary - 암묵적으로 지정된 단락을 생성할지 어떨지

addSpecialElement

protected void addSpecialElement(HTML.Tag  t,
                                 MutableAttributeSet  a)
기본적으로 속성 세트 전체로 지정되고 있는 컨텐츠를 추가합니다.


JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.