Comment définir la couleur du texte dans une zone de texte Java Swing lors de l'exécution? Au démarrage, la couleur est grisâtre et lorsque l'utilisateur entre dans la zone de texte, je souhaite changer la couleur à la couleur du texte normal. J'utilise actuellement le code suivant:Définition de la couleur du texte dans une zone de texte Java
private void txtScheduleInfoFocusGained(java.awt.event.FocusEvent evt)
{
try
{
if (currentClassIsNewClass() && txtScheduleInfo.getDocument().getText(0, txtScheduleInfo.getDocument().getLength()).equals(PASTE_SI_HERE))
{
txtScheduleInfo.setText("");
txtScheduleInfo.setForeground(java.awt.SystemColor.textText);
}
}
catch (BadLocationException ex)
{
JOptionPane.showMessageDialog(this, "BLE\nContact Zian", "Unexpected Problem", JOptionPane.ERROR_MESSAGE);
}
}
À ce moment, lorsque le code s'exécute, le texte apparaît toujours en gris.
Code additionnel:
Déclaration (comme un champ):
private javax.swing.JTextPane txtScheduleInfo;
instanciation:
txtScheduleInfo = new javax.swing.JTextPane();
Initialisation:
txtScheduleInfo.setForeground(java.awt.SystemColor.textInactiveText);
txtScheduleInfo.setText("Paste schedule information here");
txtScheduleInfo.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusGained(java.awt.event.FocusEvent evt) {
txtScheduleInfoFocusGained(evt);
}
public void focusLost(java.awt.event.FocusEvent evt) {
txtScheduleInfoFocusLost(evt);
}
});
Pouvez-vous poster un exemple plus complet? – willcodejavaforfood
J'ai fait ça. –
Avez-vous vérifié que vos conditions sont vraies à l'exécution avec un débogueur? –