2016-09-16 6 views
-1

최근에는 스타일 상수, 스타일이 적용된 문서 및 텍스트 창을 사용했습니다. 난 그냥, 사용자 하이라이트 /에 "Hello World"의 "오 WORL"를 선택하면 당신은, 당신은 /는 예를 들어스타일이 지정된 문서/텍스트 창에서 글꼴 문자 및 색상 가져 오기

StyledDocument doc = this.tpText.getStyledDocument(); 
    Style style = this.tpText.addStyle("stylish", null); 
    StyleConstants.setForeground(style, color.BLACK); 
    StyleConstants.setFontFamily(style, "Arial"); 
    doc.setCharacterAttributes(this.tpText.getSelectionStart(), this.tpText.getSelectionEnd() - this.tpText.getSelectionStart(), this.tpText.getStyle("stylish"), true);//This is the piece of code (last line) that will set all the attributes to the highlited text. 

아래의 코드에서 그것을 보여주는 선택 강조 텍스트의 일부를 편집 할 수 있다는 사실을 알고 "o worl"은 검은 색으로 바뀌고 글꼴 문자는 Arial이됩니다.

내 질문은 다음과 같습니다. 어떻게 문자 높이기/선택한 텍스트에서 글꼴 문자 및 색을 얻을 수 있습니까? 나는 어떻게 그것을 별도의 변수 (하나는 컬러, 다른 하나는 폰트 문자)에 저장할 수 있는지 알고 싶다.

답변

0

좋아, 더 많은 조사를 한 후에 나는 답을 발견했다.

doc = this.tpText.getStyledDocument(); 
    Element element = doc.getCharacterElement(this.tpText.getSelectionStart()); 
    AttributeSet as = element.getAttributes(); 
    colour = StyleConstants.getForeground(as); 

이 스타일 상수 방법에 대한 유일한 단점은 첫 번째 문자 특성 만 인식하고 다른 문자는 덮어 쓰거나 무시한다는 것입니다. 어쩌면 반복 할 수 있습니다.