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 and feel d'un onglet sur une JTabbedPane


Sujet :

AWT/Swing Java

  1. #1
    Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2004
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 96
    Points : 62
    Points
    62
    Par défaut Look and feel d'un onglet sur une JTabbedPane
    Bonjour.

    Je travaille avec un JTabbedPane.
    Je souhaiterais savoir comment on peut définir le look and feel de l'onglet qui est sélectionné.
    J'ai pu faire en sorte d'obtenir ce que je veux sur les onglets qui ne sont pas sélectionnés: J'y ai mis des JLablel avec les couleurs et la police que je souhaite.
    Mais l'onglet sélectionné prends une couleur grisée que je ne veux pas, et je ne sais pas comment changer ça.

    Toute aide sera la bienvenue.
    Merci.

  2. #2
    Membre à l'essai
    Homme Profil pro
    Développeur amateur autodidacte, préfère Java, C#, Python
    Inscrit en
    Juillet 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur amateur autodidacte, préfère Java, C#, Python

    Informations forums :
    Inscription : Juillet 2009
    Messages : 6
    Points : 14
    Points
    14
    Par défaut Tout changer sur un look and feel
    Bonjour, pour avoir fait des thèmes je peux t'aider.

    Premièrement laisse tomber les JLabel ça fait moche ça modifie pas le fond de l'onglet. Si tu veux vraiment les utiliser à part "setOpaque(true)", tu pourras rien faire d'autre. Passe à des look and feel totalement customisables, comme Synth, Nimbus ou FlatLaf par exemple. Lien pour modifier Nimbus ici. Tu peux aussi utiliser JavaFX.

    Personnellement, j'ai totalement migré de Nimbus à FlatLaf car mis à jour et package maven, ils ont un éditeur gratuit et on peut utiliser FlatLaf gratuitement (quand même bien lire les licences avant toutes intégrations, merci) et on peut aussi le faire pas gratuitement... Si tu veux du pure CSS passe par JavaFX en adoptant la logique (penser l'entière application en JavaFX).

    Par exemple, pour Nimbus, on peut modifier les Tab avec un Painter.
    J'avais fait ça pour l'expliquer bien comme il faut avec une JProgressBar, l'utilisation d'un Painter étant identique tu peux t'inspirer de ce code pour Nimbus.

    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
    public static class MyPainter implements Painter {
     
        @Override
        public void paint(Graphics2D g, Object object, int width, int height) {            
            if (object instanceof javax.swing.JProgressBar){
                Color blueColor = new Color(84, 118, 255);
                Color blueColorWithAlpha = new Color(84, 118, 255, 127);
                GradientPaint GRADIENT_1 = new GradientPaint(0, 0, blueColorWithAlpha, 0, height/2, blueColor);
                g.setPaint(GRADIENT_1);
                g.fillRect(0, 0, width, height/2);
                GradientPaint GRADIENT_2 = new GradientPaint(0, height/2, blueColor, 0, height, blueColorWithAlpha);
                g.setPaint(GRADIENT_2);
                g.fillRect(0, height/2, width, height);
            }
        }
     
    }
    Et pour appliquer le Painter :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    UIManager.put("ProgressBar[Enabled+Finished].foregroundPainter", new MyPainter());
    UIManager.put("ProgressBar[Enabled+Indeterminate].foregroundPainter", new MyPainter());
    UIManager.put("ProgressBar[Enabled].foregroundPainter", new MyPainter());
    SwingUtilities.updateComponentTreeUI(this);
    Voilà ce que je pouvais te dire. Si tu as des questions, je peux tenter d'y répondre.

  3. #3
    Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2004
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 96
    Points : 62
    Points
    62
    Par défaut
    Bonjour GentilOurson.

    Merci pour ta réponse.
    Ce sont des trucs que je ne maîtrise vraiment pas.
    Il n'y a pas moyen avec swing ??

  4. #4
    Membre à l'essai
    Homme Profil pro
    Développeur amateur autodidacte, préfère Java, C#, Python
    Inscrit en
    Juillet 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur amateur autodidacte, préfère Java, C#, Python

    Informations forums :
    Inscription : Juillet 2009
    Messages : 6
    Points : 14
    Points
    14
    Par défaut
    Synth, Nimbus et FlatLaf sont des UI Swing. Synth et Nimbus sont dans le JDK et FlatLaf est un module hors JDK mais qui peut être utilisé avec les 'J' composants Swing.

    Pour que je puisse t'aider dis-moi le look and feel que tu utilises ? Et si tu pouvais inclure une image ce serait encore mieux.

Discussions similaires

  1. Question sur les Look and Feel
    Par Cassios dans le forum AWT/Swing
    Réponses: 17
    Dernier message: 11/12/2013, 15h21
  2. look and feel XP sur VISTA
    Par spynux dans le forum Windows Vista
    Réponses: 8
    Dernier message: 28/08/2007, 20h24
  3. [Gtk2] Modification du "look and feel" d'une fenêtre
    Par aidefz dans le forum GTK+ avec C & C++
    Réponses: 2
    Dernier message: 20/03/2007, 23h27
  4. Réponses: 14
    Dernier message: 15/10/2006, 11h22
  5. Changer le look and feel D'une JFrame ouverte
    Par canigu dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 30/12/2005, 21h49

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