J'essaie de changer la couleur d'une surbrillance dans TextArea ou TextPane ou même dans d'autres.JTextArea ou JTextPane Définir la couleur du texte en surbrillance
Notez que je suis à la recherche pour changer la couleur de:
Et pas le texte.
J'ai aussi pris un coup d'œil à la fonction de setHighlighter()
JTextArea
mais il semble que je vais devoir entrer une classe Highlighter
anonyme que je ne sais absolument pas comment mettre en œuvre tous les remplacements.
jta.setHighlighter(new Highlighter() {
@Override
public void removeHighlight(Object tag) {
// TODO Auto-generated method stub
}
@Override
public void removeAllHighlights() {
// TODO Auto-generated method stub
}
@Override
public void paint(Graphics g) {
// TODO Auto-generated method stub
}
@Override
public void install(JTextComponent c) {
// TODO Auto-generated method stub
}
@Override
public Highlight[] getHighlights() {
// TODO Auto-generated method stub
return null;
}
@Override
public void deinstall(JTextComponent c) {
// TODO Auto-generated method stub
}
@Override
public void changeHighlight(Object tag, int p0, int p1)
throws BadLocationException {
// TODO Auto-generated method stub
}
@Override
public Object addHighlight(int p0, int p1, HighlightPainter p)
throws BadLocationException {
// TODO Auto-generated method stub
return null;
}
});
Avez-vous essayé de paramétrer la méthode 'paint (Graphics g)'? comme 'g.setColor (Color.color);' – 3kings
Juste essayé, ils mettent en évidence le texte seulement. En outre, ils ne désaccentuent pas le texte après que vous l'avez désélectionné –
Essayez la réponse ci-dessous qui devrait vous aider davantage – 3kings