Choisir une couleur dans une boite de dialogue
La boite de dialogue se compose de 3 volets:- échantillons de couleurs prédéfinies,
- dégradés HSB,
- scrollBar pour une sélection RGB.
Dans l'exemple ci-dessus, lorsque l'utilisateur clique sur le bouton, la fenętre de choix d'une couleur s'affiche. La couleur sélectionnée est appliquée au bouton.
import java.awt.Color;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.MouseAdapter;
import javax.swing.JButton;
import javax.swing.JColorChooser;
import javax.swing.JFrame;
/**
* Afficher une boite de dialogue pour sélectionner une couleur
* http://www.fobec.com/java/979/afficher-boite-dialogue-selection-une-couleur.html
* Axel 2010
*/
public class ColorChooserSample {
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//Créer le bouton
final javax.swing.JButton button = new JButton();
button.setText("Choisir une couleur");
//Ajouter un evenement sur le click de la souris
MouseAdapter actionListener = new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
Color background = JColorChooser.showDialog(null,
"JColorChooser Sample", null);
if (background != null) {
button.setBackground(background);
}
}
};
button.addMouseListener(actionListener);
//Placer le button sur le Frame
Container container = frame.getContentPane();
container.setLayout(new FlowLayout());
container.add(button);
frame.setSize(200, 100);
frame.setVisible(true);
}
}
La boite de dialogue JColorChooser convient pour la majeure partie des applications. Cependant, l'API permet de personnaliser la boite de dialogue de sélection de couleur en lui fournissant son propre panneau d'aperçu de couleur.