Publié le 02/12/2010
Auteur fobec
Réseaux sociaux
0 partages
0 tweets
0 plus
0 commentaires

Personaliser l'aspect d'une boite de dialogue JOptionPane

Le composant swing JOptionPane est utilisé pour afficher un message à l'utilisateur. En fonction de l'apparence de son application, le look standard du JOptionPane peut surprendre, quelques changements sur les couleurs ou l'icone suffissent à rendre le logiciel plus sympa.

Modifier l'apparence de la boite de dialogue

look_blackdialogSans utiliser un LookAndFeel spécifique, la class MyJOptionPane est un exemple de customisation de l'apparence de la fenêtre. La technique consiste à modifier à la volée le LookAndFeel par défaut.
A l'aide de UIManager, la class MyJOptionPane modifie les constantes de couleurs du fond de la fenêtre et de la police d'écriture. En fait, cette opération surcharge le LookAndFeel standard avec les propriétés que l'on a choisi.

import java.awt.Color;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
 
/**
 * Modifier l'aspect d'un JOptionPane
 * @author fobec 2010
 */
public class MyJOptionPane {
 
    /**
     * Afficher une boite de dialogue noir avec un libellé en blanc
     */
    public static void showBlack() {
        try {
            UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
            UIManager.put("OptionPane.background", Color.BLACK);
            UIManager.put("Panel.background", Color.BLACK);
            UIManager.put("OptionPane.messageForeground", Color.WHITE);
            JOptionPane.showMessageDialog(null, "Boite de dialogue avec un fond blanc");
        } catch (ClassNotFoundException ex) {
            Logger.getLogger(MyJOptionPane.class.getName()).log(Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            Logger.getLogger(MyJOptionPane.class.getName()).log(Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            Logger.getLogger(MyJOptionPane.class.getName()).log(Level.SEVERE, null, ex);
        } catch (UnsupportedLookAndFeelException ex) {
            Logger.getLogger(MyJOptionPane.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
 
    /**
     * Exemple pour lancer la boite de dialogue
     * @param args
     */
    public static void main(String[] args) {
        MyJOptionPane.showBlack();
    }
}

Liste des constantes LookAndFeel

De nombreuses constantes peuvent être modifiées dans un JOptionPane. La liste complète est par exemple consultable sur le site java2s.com. Les modifications portent principalement sur les couleurs, les icônes à afficher et le texte des boutons.

Ajouter un commentaire

Les champs marqués d'un * sont obligatoires, les adresses emails se sont pas publiées.

A lire aussi

Réseaux sociaux
Présentation de l'article
Catégorie
java - tutorial
Mise a jour
02/12/2010
Visualisation
vu 4289 fois
Public
Internaute
Auteur de la publication
Fobec
Admin
Auteur de 261 articles
|BIO_PSEUDO|
Commentaires récents

Publié par habib dans CMS

je veu cree des applications base de donnee comme gestion park reforme du materielle les unites materielle entree sortie inventaire aidez moi email bettaharhabib1966@yahoo.fr <br>tel 0557187557...

Publié par Roy2014 dans tuto

Bonjour et merci pour ce tuto interessant. Je pense que tout le monde souffre avec 1and1 du fait que l'on puisse pas gziper directement via le htaccess!!
j'aurais une petite question:
tu dis a p...

Publié par MasterMbg dans java

Salut! merci pour le code, si tu y ajoutais des commentaires avant chaque module ce serait encore plus facilitant! merci infiniment...

Publié par lamardiallo48 dans java

trop bon ton code ca m'a beaucoup aide. Merci

Publié par Alpcom dans java

Salut , juste signaler une petite faute de frappe dans mouseDragged
ce n'est pas int y = p.y - newPos.x;
int y = p.y - newPos.y; !! des comportements curieux apparaissaient sinon merci beaucoup...