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 :

[Swing] Comment colorer un JSpinner ?


Sujet :

AWT/Swing Java

  1. #1
    Membre éclairé Avatar de calogerogigante
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2003
    Messages
    602
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2003
    Messages : 602
    Par défaut [Swing] Comment colorer un JSpinner ?
    Comment colorer en jaune le fond de mon JSpinner (nommé gravi_s) ?

    Il est créé comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    spinModelGravite = new SpinnerNumberModel( 0, 0, 10, 1);
    gravi_s          = new JSpinner(spinModelGravite);
    J'ai essayé deux méthodes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    gravi_s.setOpaque(true);                // il ne change
    gravi_s.setBackground(Color.yellow);    // pas de couleur !!!
    gravi_s.repaint();
    et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (gravi_s.getEditor()).setBackground(Color.yellow);
    Mais aucune de ces deux méthodes ne fonctionnent (pourtant, je n'ai aucune erreur de compilation...)

    Quelqu'un sait comment faire ?

  2. #2
    Membre éclairé Avatar de calogerogigante
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2003
    Messages
    602
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2003
    Messages : 602
    Par défaut
    Personne n'a une petite idée ?

  3. #3
    Membre éclairé Avatar de calogerogigante
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2003
    Messages
    602
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2003
    Messages : 602
    Par défaut
    Bon, benh... J'ai encore essayé tout ce qui était imaginable et possible...

    Rien n'a faire !!!

    :-(

    Mon JSpinner restera blanc quand tous les autres textfields passent au jaune...

    Triste, mais c'est la vie !!!

  4. #4
    Membre éprouvé

    Inscrit en
    Septembre 2004
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 108
    Par défaut
    il ya des exemple de spinners colores si ça peut aider
    http://www.crionics.com/products/opensource/faq/swing_ex/JSliderExamples1.html

  5. #5
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 899
    Billets dans le blog
    54
    Par défaut
    Euh il cherche une solution sur des Spinner pas des Slider...
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  6. #6
    Gfx
    Gfx est déconnecté
    Expert confirmé
    Avatar de Gfx
    Inscrit en
    Mai 2005
    Messages
    1 770
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 770
    Par défaut
    Cree un nouvel editor pour ton spinner.

  7. #7
    Membre éclairé Avatar de calogerogigante
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2003
    Messages
    602
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2003
    Messages : 602
    Par défaut
    Mais si je fais un tout nouvel éditor, Gfx, dois-je redéfinir tout le fonctionnement du JSpinner ?

    C'est pas le JFormattedTextField de cet editor que je devrais alors re-paramétrer ? (Embêtant, ça... :-( )

    Y a-t-il un moyen d'éviter ça ?

    Si non, quelqu'un a-t-il un exemple de JSpinner ayant un éditeur tout neuf, comme proposé par Gfx ?

  8. #8
    Membre éclairé Avatar de calogerogigante
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2003
    Messages
    602
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2003
    Messages : 602
    Par défaut
    Bon, benhhh... Je fais remonter ce vieux post car j'ai enfin trouvé comment faire pour colorer le fond d'un JSpinner...

    Un simple setBackground sur le JSpinner ne suffisait pas.

    Voici un bout de code qui fait très bien cela, qui me permet ainsi de compléter ce post et de permettre à d'autres de profiter de la solution :

    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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    import javax.swing.*;
    import java.awt.*;
     
    class FenBouton extends JFrame
    {
      private JButton monBouton;
      private JSpinner spinner;
     
      public FenBouton()
      {
    	setTitle("essai");
    	setSize(300,200);
    	monBouton = new JButton("Essai");
    	spinner = new JSpinner();
    	JFormattedTextField ftf = avoirLeTextField(spinner);
     
    	ftf.setBackground(Color.YELLOW);
     
    	getContentPane().setLayout(new BorderLayout());
    	getContentPane().add(monBouton, BorderLayout.CENTER);
    	getContentPane().add(spinner, BorderLayout.SOUTH);
    	setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     
      }
     
      public JFormattedTextField avoirLeTextField(JSpinner spinner)
      {
        JComponent editor = spinner.getEditor();
        if (editor instanceof JSpinner.DefaultEditor)
            {
            return ((JSpinner.DefaultEditor)editor).getTextField();
            }
        else {
             System.err.println("Type d'editor inattendu : "
                               + spinner.getEditor().getClass()
                               + " n'est pas un descendant de DefaultEditor");
             return null;
             }
     
      }
    }
     
    public class Essai_001
    {
     
    	public static void main(String[] args) 
    	{
    		try
    		{
    			UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
    		}
    		catch (Exception e)
    		{
     
    		}
    		FenBouton fen = new FenBouton();
           fen.setVisible(true);
    	}
    }
    ;-) C'est donc Résolu.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment "colorer" une ligne dans formulaire en col
    Par pyxosledisciple dans le forum IHM
    Réponses: 5
    Dernier message: 09/02/2006, 12h29
  2. [Swing] comment savoir si une fenetre est ouverte ?
    Par uraxyd dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 31/12/2005, 11h55
  3. [SWING] Comment créer un thème ?
    Par sqwam71 dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 27/12/2005, 12h34
  4. [JTable] comment colorer une case
    Par cladsam dans le forum Composants
    Réponses: 12
    Dernier message: 20/01/2005, 08h14

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