RCP/SWT & JFACE

SWT의 Text와 StyledText

반응형

SWT에서는 Text StyledText 두가지를 제공한다.

 

Text 여러 이벤트를 연관 시킬  있다.

addModifyListener() // 텍스트 수정 리스너

addSelectionListener() // 컨트롤 선택 리스너

addVerifyListener() // 텍스트에 변화가 일어났을때 발생

Append() // 추가

Insert() 대체

setSelection(), selectAll() // 선택

setEchoCharacter() // 사용자가 타이핑 하는 문자 대신 보여줄 다른 문자열 지정

setEditable() // 편집을 가능하게 하거나 불가능하게 한다.

setFont()

 

 

StyledText text에서 제공하는 모든 메소드를 제공하고 폰트텍스트 색상폰트 스타일 등으 ㅣ기능이 추가된다.

 

StyledText 키를 바인딩   있다.

 번째 방법은 st 클래스를 이용하여 코드상에 직접 구현하거나, setKeyBinding() 이용하여  입력과 연동 시킬  있다.

StyledText.setKeyBinding( 'Q' | SWT.CONTROl, ST.PASTE);

 

 

StyleRange 이용한 텍스트 스타일

StyledText StyledRange 클래스를 이용하여 서로 다른 스타일을 관리   있다.

StyleRange style  = new StyleRange(int start, int length, Color foreground, Color background, int fontStyle)

styledText.setStyleRange(style);

 

 

Styledtext에서 사용되는 ExtendedModifyListener ModifyListener보다 정확하게 어디서 어떤 부분이 변경되었는지  있다.

Styledtext.addExtendedModifyListener(

New ExtenedModifyListener() {

Public void modifyText(ExtendedModifyEvnet event){

}

}

 

styledText.addkeyListener(new KeyAdapter(){

Public void keyPressed(KeyEvent e){

}

}

 

Jface에서는 텍스트 지원을 하는 Idocument ITextViewer 인터페이스를 제공한다.

Document

Document 실제 텍스트 부분을 보유한다그렇기 때문에 표준 메스드와 더불어 IDocumentListener 통해서 내용 편집에대한 이벤트를 받을  있다.

Idocument 고급기능

  1. Position : 텍스트의 영역(문서의 내용이 변해도 항상 동일한 오프셋을 부여하므로  Document 이용하여 북마크를구현할  있다. -> 추적장치를 제공한다.)
  2. 컨텐츠 타입 구분 : plain text, rich text, html  여러 타입을 지정할  있다. Idocument Partitioner  통해 특정 영역의 컨텐츠 타입을 정의 하여야한다.
  3. 검색 : search() 메소드를 통해 검색을 제공한다특정 패넌을 지원하지는 않지만시작위치 검색방향 소문자 구분단어일 경우와 같은 경우의 검색이 가능하다.

 

ITextViewer

표준 텍스트 위젯을 문서 기분 텍스트 위젯으로 바꾸기 위한 viewer 이다.

StyledText 사용하여 텍스트를 보여준다.

텍스트 수정과 시각적인 이벤트(현재 보이는 지역인  포트에서 발생하는 변경양쪽에 대한 리스너를 지원한다.

 

TextViewer 다양한 플러그인을 제공한다 플러그인을 사용하려면 이런 인터페이스의 인스턴스를 텍스트 뷰어에 할당하고 나서 activatePlugins() 호출해야한다.

유요한 플러그인

Org.eclipse.jface.text.contentassist // 텍스트를 입력할  텍스트 자동 완성을 위한 프레임 워크를 제공하며 IContentAssistant IContentAssistantProcessor 함꼐 동작한다.

Org.eclipse.jface.text.formatter // 텍스트의 서식을 설정하는 유틸리티로서 IContentFormatter IFormattingStrategy 인스턴스를 컨텐트 타입과 함께 등록한다.

Org.eclipse.jface.text.presentation // 변경과 관련하여 문서의 시각적인 모양새를 업데이트 한다.

Org.eclipse.jface.text.reconciler // 문서를 텍스트의 외부 저장소와 함께 동기화 하는데 사용한다.

Org.eclipse.jface.text.rules // 환경 설정이 가능한 Irule 기반혀여 텍스트를 스캔하고 매치하기 위한 클래스단어숫자공백 종료 문자  자주 발생하는 구문을 찾기 위한 내장 규칙을 가지고 있다.

Org.eclipse.jface.text.source // text 컴파일에러 표시등  출력할  사용한다하위 클래스인 Annotation 필요하다.

반응형

'RCP > SWT & JFACE' 카테고리의 다른 글

현재 화면의 활성화된 shell 얻는 방법  (0) 2016.12.23
Tableviwer와 편집모드, 컨텍스트 메뉴 생성  (0) 2016.12.23
JFace의 treeList 예제  (0) 2016.12.23
JFACE TreeViewer 예제  (0) 2016.12.23
SashForm 소개와 예제  (3) 2016.12.22