Olá
Estou fazendo um mini editor de texto de trabalho da escola técnica, mas estou com um problema.
Implementei uma combo box que troca a fonte dos textos selecionados no JTextPane, só que ocorre o seguinte:
quando eu clico para trocar de fonte, sem nada selecionado, os primeiro caracter fica da fonte desejada, mas logo em seguida o resto do texto passa a pertencer a fonte padrão (no caso, times new roman).
Este foi o código que usei no combobox (está cercado pelo ActionListener do Formulário Principal):
if (arg0.getSource() == barraTarefas.cmbfont){
action = new StyledEditorKit.FontFamilyAction("",barraTarefas.cmbfont.getSelectedItem().toString());
action.actionPerformed(arg0);
}
Até aí tudo funciona muito bem, mas quando vc clica num texto de fonte diferente, o combo box não muda o seu texto… por exemplo, se eu tenho uma fonte em Arial numa frase, e clico na de baixo que está em Times New Roman, o texto da combo box ainda fica em Times New Roman. :?
daí tentei fazer o seguinte:
public void caretUpdate(CaretEvent arg0) {
barraTarefas.cmbfont.setSelectedItem(documento.documentspace.getStyledDocument().getFont(documento.documentspace.getCharacterAttributes()).getFamily());
barraTarefas.cmbfontsize.setSelectedItem(String.valueOf(documento.documentspace.getStyledDocument().getFont(documento.documentspace.getCharacterAttributes()).getSize()));
}
Daí surgiu o problema, toda vez q esse código eh executado, ele automaticamente chama o ActionListener do ComboBox, fazendo com q a fonte troque para a do proximo caracter (mas q no caso, ainda vai ser o Times New Roman padrão).É isso mesmo que acontece? :?
Como eu faço pra resolver esse problema?
Se esta pergunta ja foi feita antes desculpe-me, mas procurei no forum e não achei nada parecido
Obrigado
Frosty Chaotix