/* Solution l'exercice -1- Auteurs: Deitel&Deitel Ce programme permet à l'utilisateur de créer une couleur adaptée sur mesure. Ce programme sert uniquement à dessiner le JPanel et ses composants. L'utilisation de la classe est faîte à travers le fichier Palette.java L'applet associée peut-être chargée par le navigateur à travers l'intermédiaire du fichier Palette.html Ajout/Modifications: Palette.html */ import javax.swing.*; import javax.swing.event.*; import java.awt.*; import java.awt.event.*; public class MonSelecteurDeCouleurs extends JPanel { private JSlider glissiereRouge, glissiereBleu, glissiereVert; private JTextField affichageRouge, affichageBleu, affichageVert; private JLabel etiquetteRouge, etiquetteBleu, etiquetteVert; private Color couleur; public MonSelecteurDeCouleurs() { etiquetteRouge = new JLabel( "Rouge:" ); glissiereRouge = new JSlider( SwingConstants.HORIZONTAL, 0, 255, 1 ); affichageRouge = new JTextField( "0", 4 ); affichageRouge.setEditable( false ); etiquetteVert = new JLabel( "Vert:" ); glissiereVert = new JSlider( SwingConstants.HORIZONTAL, 0, 255, 1 ); affichageVert = new JTextField( "0", 4 ); affichageVert.setEditable( false ); etiquetteBleu = new JLabel( "Bleu:" ); glissiereBleu = new JSlider( SwingConstants.HORIZONTAL, 0, 255, 1 ); affichageBleu = new JTextField( "0", 4 ); affichageBleu.setEditable( false ); setLayout( new GridLayout( 3, 3 ) ); add( etiquetteRouge ); add( glissiereRouge ); add( affichageRouge ); add( etiquetteVert ); add( glissiereVert ); add( affichageVert ); add( etiquetteBleu ); add( glissiereBleu ); add( affichageBleu ); glissiereRouge.addChangeListener( new ChangeHandler() ); glissiereVert.addChangeListener( new ChangeHandler() ); glissiereBleu.addChangeListener( new ChangeHandler() ); couleur = Color.black; } public void setCouleur( Color c ) { couleur = c; glissiereRouge.setValue( c.getRed() ); affichageRouge.setText( String.valueOf( c.getRed() ) ); glissiereVert.setValue( c.getGreen() ); affichageVert.setText( String.valueOf( c.getGreen() ) ); glissiereBleu.setValue( c.getBlue() ); affichageBleu.setText( String.valueOf( c.getBlue() ) ); } public Color getCouleur() { return couleur; } public JSlider getGlissiereRouge() { return glissiereRouge; } public JSlider getGlissiereVert() { return glissiereVert; } public JSlider getGlissiereBleu() { return glissiereBleu; } private class ChangeHandler implements ChangeListener { public void stateChanged( ChangeEvent e ) { int r = glissiereRouge.getValue(); int b = glissiereBleu.getValue(); int g = glissiereVert.getValue(); couleur = new Color( r, g, b ); affichageRouge.setText( String.valueOf( r ) ); affichageBleu.setText( String.valueOf( b ) ); affichageVert.setText( String.valueOf( g ) ); } } }