IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AWT/Swing Java Discussion :

background du jtextfield grisé


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2010
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 31
    Par défaut background du jtextfield grisé
    bonjour,

    comment je peux changer la couleur de fond du textField quand il est mode setEnabled(false)!

    j'ai testé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    JTextField jt = new JTextField("coucou");
    			jt.setEnabled(false);
    			if(!jt.isEnabled()){
    				jt.setBackground(new Color(128,128,128));
    			}
    mais ca marche que sur l'etat actif

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    299
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 299
    Par défaut
    Non non, la méthode marche bien dans les 2 cas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    import java.awt.BorderLayout;
    import java.awt.Color;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
     
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JTextField;
     
    public class Test {
    	public static void main(String[] args) {
    		JFrame frame = new JFrame();
     
    		final JTextField texte = new JTextField("Coucou");
    		final JButton bouton = new JButton("Enable/Disable JTextField");
    			bouton.addActionListener(new ActionListener() {
    				public void actionPerformed(ActionEvent e) {
    					if(texte.isEnabled()){
    						texte.setEnabled(false);
    						texte.setBackground(Color.LIGHT_GRAY);
    						texte.setText("Disable");
    					}else{
    						texte.setEnabled(true);						
    						texte.setBackground(Color.GRAY);
    						texte.setText("Enable");
    					}
    				}
    			});
     
    		frame.add(texte, BorderLayout.NORTH);
    		frame.add(bouton, BorderLayout.CENTER);
     
    		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		frame.pack();
    		frame.setVisible(true);
    	}
     
    }

  3. #3
    lvr
    lvr est déconnecté
    Membre éclairé Avatar de lvr
    Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Avril 2006
    Messages
    919
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Avril 2006
    Messages : 919
    Par défaut
    La solution de Caalador n'apporte pas ce que tu cherches de manière intrensèque.

    Je ferais ma propre implémentation du JTextField en surchargeant le setEnabled:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public class MyTextField {
    ...
    public void setEnabled(boolean enabled) {
      super.setEnabled(enabled);
      if (!enabled) setBackground(new Color(128,128,128));
      else setBackground((Color) UIManager.getDefaults().get("texfield.background");
      }
    ...
    }
    Le coup du ssetBackground((Color) UIManager.getDefaults().get("texfield.background") est écrit de mémoire et donc à tester mais je pense que c'est ok. Ca récupère le background système.

Discussions similaires

  1. eliminer le fond gris d'un background en format png depuis javascript
    Par karimphp dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 02/11/2007, 17h25
  2. JTextField changer background
    Par nicotine002 dans le forum Composants
    Réponses: 4
    Dernier message: 04/09/2006, 21h08
  3. JTextField grisé
    Par devdébuto dans le forum Composants
    Réponses: 1
    Dernier message: 25/04/2006, 23h42
  4. programme toujours au premier plan et background grisé
    Par avogadro dans le forum Langage
    Réponses: 5
    Dernier message: 28/03/2006, 21h46
  5. [JtextField] Comment rendre grisé ?
    Par Cyborg289 dans le forum Composants
    Réponses: 3
    Dernier message: 21/07/2005, 10h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo