Ciao,
sto realizzando un editor di testo base con una barra dei menù e una JTextArea centrale. Nella barra ci sono 3 JCheckBoxMenuItem grassetto, corsivo e sottolineato che modificano lo stile del testo dell'area di testo. Il problema è che una volta messi il grassetto o il corsivo non si toglie più. Quando viene cliccata una delle tre voci del menù viene chiamato questo metodo, dovrebbe essere qui l'errore.
So che è una cavolata, ma non riesco a venirne fuoricodice:private void cambiaStileFont() { int s = Font.PLAIN; if (grassetto.isSelected()) s += Font.BOLD; if (corsivo.isSelected()) s += Font.ITALIC; a.setFont(new Font(a.getFont().getFontName(), s, a.getFont().getSize())); if (sottolineato.isSelected()) { Map<TextAttribute, Integer> fontAttributes = new HashMap<TextAttribute, Integer>(); fontAttributes.put(TextAttribute.UNDERLINE, TextAttribute.UNDERLINE_ON); a.setFont(a.getFont().deriveFont(fontAttributes)); } }![]()

Rispondi quotando