Sei que esse assunto já apareceu bastante aqui, mas não achei nada que solucionasse o meu problema então vou postar aqui.
Estou desenvolvendo um editor de texto para um trabalho na facul e surgiu um problema no botão sublinhar. Eu consegui fazer ele colocar o sublinhado sem problemas mas não consigo fazer o mesmo botão desublinhar (se crio um botão só pra desublinhar funciona).
O código é o seguinte:
JMenuItem sublinhado = new JMenuItem("Sublinhado");
sublinhado.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg1) {
SimpleAttributeSet sas = new SimpleAttributeSet();
if (StyleConstants.isUnderline(sas)) {
StyleConstants.setUnderline(sas, false);
texto.getStyledDocument()
.setCharacterAttributes(
texto.getSelectionStart(),
texto.getSelectionEnd()
- texto.getSelectionStart(), sas,
false);
} else {
StyleConstants.setUnderline(sas, true);
texto.getStyledDocument()
.setCharacterAttributes(
texto.getSelectionStart(),
texto.getSelectionEnd()
- texto.getSelectionStart(), sas,
false);
}
}
});
A saída do if “StyleConstants.isUnderline(sas)” é sempre false, mesmo o texto estando sublinhado.
Alguém tem ideia do motivo?
Abraços
