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 :

Look & Feel : pb pour modifier les Button


Sujet :

AWT/Swing Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Janvier 2008
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 45
    Points : 30
    Points
    30
    Par défaut Look & Feel : pb pour modifier les Button
    bonjour,
    j'essaie de modifier le look and feel de mon appli et (bien évidemment puisque je suis là ...) ça ne marche pas. Après parcours de l'historique du forum sur ce sujet, je n'ai rien trouvé donc voila ce que je fais :
    une classe qui étend le MetalButtonUI :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    public class MyButtonUI extends MetalButtonUI {
        private static final MyButtonUI mirorButtonUI= new MyButtonUI();
     
        public MyButtonUI() {
            super();
        }
     
        public void paint(Graphics g, JComponent c) {
             //peu importe ce code mais c'est la que je ferai mes modifs sur les boutons
        }
     
        public static ComponentUI createUI(JComponent c) {
            return mirorButtonUI;
        }
    mon nouveau L&F
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    public class MyLookAndFeel extends MetalLookAndFeel {
     
      protected void initClassDefaults( UIDefaults table ) {
        super.initClassDefaults( table );
        table.put( "ButtonUI", MyButtonUI.class.getName() );
      }
     
      public boolean isNativeLookAndFeel() {
        return false;
      }
     
      public boolean isSupportedLookAndFeel() {
        return true;
      }
    et enfin l'utilisation de tout ça dans ma classe qui créé la JFrame
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UIManager.setLookAndFeel(new MirrorLookAndFeel());
    Bon j'ai du rater qqchose car à chaque fois j'ai une erreur à l'exécution :
    UIDefaults.getUI() failed: no ComponentUI class for: javax.swing.JButton[,0,0,0x0,invalid,alignmentX=0.0,alignmentY=0.0,border=,flags=0,maximumSize=,minimumSize=,preferredSize=,defaultIcon=,disabledIcon=,disabledSelectedIcon=,margin=null,paintBorder=true,paintFocus=true,pressedIcon=,rolloverEnabled=false,rolloverIcon=,rolloverSelectedIcon=,selectedIcon=,text=Journal,defaultCapable=true]
    Petite précision : si j'utilise le code ci-dessous, mon button est bien modifié fonction de ce que je mets dans le paint de MyButtonUI ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    BoutonBandeauAccueil = new JButton("Accueil");
    BoutonBandeauAccueil.setUI(new MyButtonUI());
    Merci d'avance pour votre aide et SVP soyez indulgent, je débute avec le L&F ...

  2. #2
    Membre extrêmement actif Avatar de jojodu31
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Points : 814
    Points
    814
    Par défaut
    bjr,
    as tu essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    UIManager.setLookAndFeel(MirrorLookAndFeel.class.getName());
    ??

  3. #3
    Membre expérimenté
    Avatar de visiwi
    Profil pro
    Inscrit en
    Février 2008
    Messages
    1 050
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 1 050
    Points : 1 340
    Points
    1 340

  4. #4
    Nouveau membre du Club
    Inscrit en
    Janvier 2008
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 45
    Points : 30
    Points
    30
    Par défaut
    merci pour vos premières reponses :
    pour jojodu31 : oui j'ai essayé je récupère une erreur
    java.lang.ClassNotFoundException: MirrorLookAndFeel
    at java.net.URLClassLoader$1.run(Unknown Source)
    pour visiwi : ce que tu me proposes fonctionne : cf. la fin de mon post d'origine. Mais ce n'est pas la même chose : je n'affecte pas le L&F de tous mes boutons avec cette technique : je suis obligé à chaque bouton de préciser le setUI. c'est un contournement que j'avais envisagé.

  5. #5
    Membre extrêmement actif Avatar de jojodu31
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Points : 814
    Points
    814
    Par défaut
    dans la classe de ta fenetre tu peux faire un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    UIManager.put( "ButtonUI", MyButtonUI.class.getName() );
    ça marchera pour tous tes boutons comme ça

  6. #6
    Nouveau membre du Club
    Inscrit en
    Janvier 2008
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 45
    Points : 30
    Points
    30
    Par défaut
    Ben non, marche pas avec ta solution jojodu31 : même erreur :
    UIDefaults.getUI() failed: no ComponentUI class for: javax.swing.JButton[,0,0,0x0,invalid,alignmentX=0.0,alignmentY=0.0,border=,flags=0,maximumSize=,minimumSize=,preferredSize=,defaultIcon=,disabledIcon=,disabledSelectedIcon=,margin=null,paintBorder=true,paintFocus=true,pressedIcon=,rolloverEnabled=false,rolloverIcon=,rolloverSelectedIcon=,selectedIcon=,text=Journal,defaultCapable=true]

Discussions similaires

  1. Script pour Modifier les metadonnées dans des TIFF
    Par Airmoi dans le forum Windows
    Réponses: 2
    Dernier message: 04/11/2006, 15h12
  2. [C#] Look and Feel Office 2003 avec les Windows Forms
    Par vandamme dans le forum Windows Forms
    Réponses: 7
    Dernier message: 20/01/2006, 01h18
  3. Réponses: 4
    Dernier message: 05/01/2006, 10h01
  4. [MySQL] Script pour modifier les caracteres speciaux dans la bdd
    Par isa150183 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 15/09/2005, 14h07
  5. Je ne trouve pas la requete pour modifier les entrées...
    Par guttts dans le forum Langage SQL
    Réponses: 7
    Dernier message: 24/08/2005, 20h17

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