2011-10-22 2 views
2

여기에 제 문제가 있습니다. 구문 강조가있는 편집기를 쓰고 있습니다. 공상에 들지는 않지만 그 일을합니다. 문제는 내가 오류 인식을 구현하고 있으며 줄을 밑줄을 추가하기 위해 스타일을 추가하려고 할 때 이전에 가지고 있던 스타일보다 우선합니다.은 JTextPane에 스타일을 추가합니다.

true 나는 새로운 스타일을 추가하려면이 같은 일을하고 있어요 : 우리가 내가 false에 마지막 인수 setCharacterAttributes를 사용하는 경우

  if(e.getListaErrori().size()>0){ 
       jcb.addItem("ERRORS FOUND"); 
       for(org.univpm.grail.error.Error i:e.getListaErrori()){ 
        jcb.addItem(i.getError()); 
        Element child = root.getElement(i.getLine()-1); 
        styleRoot.setCharacterAttributes(child.getStartOffset(), i.getInstr().length()-1, ta.getStyle("ErrUnder"), true); 
       } 
       jcb.setVisible(true); 
      } 

을 : 여기에 스크린 샷입니다

false 은 그 거의 내가 원하는 것입니다. 나는 다른 색깔의 밑줄을 가지고 싶다. 나는 그것이 불가능하다는 것을 깨달았지만 ... 그것을 할 수있는 방법이 있다고 생각합니까?

+0

화면에 선을 그려야 할 수도 있습니다. –

+0

튜토리얼을 가르쳐 주시겠습니까? 내가 찾는 것은 paintComponent 메소드의 ovverride입니다. – dierre

답변

3

내가 밑줄을 긋기 위해 스타일을 추가하고 싶을 때, 나는 이전에 가지고 있던 스타일보다 우선합니다.

스타일을 사용하는 대신 어쩌면 형광펜을 사용하여 텍스트를 "강조 표시"할 수 있습니다. Rectangle Painter은 맞춤 사각형 강조 표시를 만드는 방법을 보여줍니다. 선 하이라이트를 사용하기 위해 코드를 쉽게 변경할 수 있어야합니다.

+0

가 작동합니다. 누구든지 그것을 필요로한다면, 먼저 배경색으로 사각형을 채운 다음 g.draw로 그 사각형을 채 웁니다. – dierre

관련 문제