JTextPane과 굵게 표시된 글꼴을 나타내는 확인란이 있습니다. 그래서 체크 박스가 체크되어 있다면 JTextPane에 타이프하는 것이 무엇이든 굵게 나타내기를 원한다. JTextPane의 전체 글꼴을 변경하고 싶지는 않습니다. 다음 글자를 굵게 설정하고 싶습니다. 나는이를 만들고, 그것을 작동 :다음 입력에 대한 Java 스타일 문서 변경 속성
///framework is JTextPane
framework.addKeyListener(new KeyListener() {
StyledDocument doc = framework.getStyledDocument();
@Override
public void keyTyped(KeyEvent e) {
// TODO Auto-generated method stub
if(boldcheck.isSelected()){
StyleContext sc = new StyleContext();
Style ns = sc.addStyle("a", null);
ns.addAttribute(StyleConstants.Bold, new Boolean(true));
try {
String s = Character.toString(e.getKeyChar());
doc.insertString(doc.getLength(),s, ns);
framework.remove(doc.getLength());
} catch (BadLocationException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
///// rest of keylistener
하지만 난 그것을
doc.insertString(doc.getLength(),s, ns);
framework.remove(doc.getLength());
내가 doc.setCharacterAttributes(doc.getLength(),1, ns, true)
하지만 실 거예요 작업과 시도를 할 수있는 좋은 아이디어라고 생각하지 않으며, 내가 keyReleased
에 doc.setCharacterAttributes(doc.getLength()-1,1, ns, true)
을 할 경우 나쁘게 작동 할 것이고 나는 무엇을 타이핑했는지 보게 될 것입니다. 그리고 나는 그것을 chaning으로 볼 것입니다. 그리고 빠르게 타이핑하면 어떤 글자의 속성을 변경하지 않을 것입니다. 그렇다면 누가 더 나은 방법을 알 수 있습니까?