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

Composants Java Discussion :

Titre d'une JFrame


Sujet :

Composants Java

  1. #1
    Candidat au Club
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2015
    Messages : 4
    Points : 4
    Points
    4
    Par défaut Titre d'une JFrame
    Bonjour,
    Je cherche à modifier les caractéristiques (caractères, taille, couleur) du String associé à la balise title d'une JFrame.
    D'avance merci

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    1. Option 1 - La propre mais longue et fastidieuse
      Les couleurs et styles des titres de JFrame (et tout le reste, bouton, bordures, etc) sont gérés par ce qu'on appelle le Look and Feel. Pour pouvoir faire ce que tu veux il te faudra faire un look and feel complet, ou éventuellement étendre un existant si c'est possible. Par défaut, le Look And Feel est spécifique à l'OS, donc ça complique un peu les choses pour faire ça de manière à ce que ça fonctionne partout (Windows, Mac, Linux, etc). D'autant plus que les classes de Look And Feel "système" ne sont pas dans les packages standards.
      Certains look and feel supporte une notion de thèmes qui facilitera la colorisation. Si tu ne tiens pas à avoir un look and feel système, ça peut être une solution plus simple.
    2. Option 2 - La bidouille, simple, limitée (tu ne pourras pas tout paramétrer), résultat laid (comme tu pourras le voir avec l'exemple suivant)
      Désactiver le look and feel et utiliser les propriétés d'UI.
      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
      	public static void main(String[] args) {
      		LookAndFeel lnf = UIManager.getLookAndFeel();
      		System.out.println(lnf);
       
      		UIDefaults uiDefaults = UIManager.getDefaults();
      		uiDefaults.put("activeCaption", new javax.swing.plaf.ColorUIResource(Color.RED)); // titre en rouge
      		uiDefaults.put("activeCaptionText", new javax.swing.plaf.ColorUIResource(Color.GREEN)); // fond du titre en vert
      		JFrame.setDefaultLookAndFeelDecorated(true); // désactiver le look and feel
      		JFrame frame = new JFrame();
      		frame.setTitle("Titre");
      		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      		frame.setSize(300, 300);
      		frame.setLocationRelativeTo(null);
      		frame.setVisible(true);
       
      	}
    3. Option 3 - Tout refaire soi-même, galère et il faut bien connaître Swing pour que la fenêtre fonctionne correctement (qu'on puisse la déplacer par drag and drop de la barre de titre, gérer les boutons, les menus, etc)
      Pour ça il faut passer en mode "non décoré". Appeler setUndecorated(true) sur l'instance de frame avant de l'afficher (donc avant le setVisible(true)). Tout refaire soi-même signifie ajouter des composants pour le titre, le bouton, des bordures, etc (ou tout dessiner dans le fond de la fenêtre) et gérer les différentes actions. Tu pourras avoir le graphisme que tu souhaites, y compris avoir une fenêtre non rectangulaire.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Candidat au Club
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2015
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    Merci

Discussions similaires

  1. récupérer la barre du titre d'une jframe
    Par stracoma dans le forum NetBeans Platform
    Réponses: 4
    Dernier message: 14/05/2016, 21h17
  2. Mettre à jour la petite étoile dans le titre d'une JFrame
    Par anasnas dans le forum Agents de placement/Fenêtres
    Réponses: 16
    Dernier message: 05/07/2011, 15h03
  3. Texte de la barre de titre d'une Jframe sur deux lignes
    Par radzar dans le forum Agents de placement/Fenêtres
    Réponses: 17
    Dernier message: 01/09/2007, 01h10
  4. [SWING] Comment redessiner la barre de titre d'une JFrame?
    Par rprom1 dans le forum Agents de placement/Fenêtres
    Réponses: 14
    Dernier message: 21/06/2006, 17h18
  5. Caractères unicodes dans le titre d'une JFrame
    Par dazz_x dans le forum Agents de placement/Fenêtres
    Réponses: 4
    Dernier message: 19/04/2006, 15h29

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