import javax.swing.Box; import javax.swing.JFrame; import javax.swing.JCheckBox; import javax.swing.JRadioButton; import javax.swing.BorderFactory; import javax.swing.ButtonGroup; import javax.swing.ImageIcon; import java.awt.Dimension; import java.awt.Image; import java.awt.Graphics; import java.awt.Color; import java.awt.BorderLayout; import java.awt.event.ItemListener; import java.awt.event.ItemEvent; class ListenerTaille implements ItemListener { int taille; ArdoiseMonde ardoise; ListenerTaille(int taille, ArdoiseMonde ardoise) { this.taille = taille; this.ardoise = ardoise; } public void itemStateChanged(ItemEvent evt) { ardoise.setRayon(taille); ardoise.repaint(); } } public class FenetreCocher extends JFrame { ArdoiseMonde ardoise = new ArdoiseMonde(); JRadioButton petit = new JRadioButton("petit", true); JRadioButton moyen = new JRadioButton("moyen", false); JRadioButton grand = new JRadioButton("grand", false); JCheckBox monde; JCheckBox tour = new JCheckBox("entoure", false); ImageIcon icone; public FenetreCocher() { ButtonGroup groupe = new ButtonGroup(); Box panneauRadio = Box.createVerticalBox(); Box panneauCocher = Box.createVerticalBox(); Box panneauChoix = Box.createVerticalBox(); icone = new ImageIcon(ardoise.getImage().getScaledInstance (10, 10, Image.SCALE_DEFAULT)); monde = new JCheckBox( "monde", icone); petit.addItemListener(new ListenerTaille(ArdoiseMonde.PETIT, ardoise)); moyen.addItemListener(new ListenerTaille(ArdoiseMonde.MOYEN, ardoise)); grand.addItemListener(new ListenerTaille(ArdoiseMonde.GRAND, ardoise)); tour.addItemListener(new ItemListener() { public void itemStateChanged(ItemEvent evt) { ardoise.inverserEntourer(); ardoise.repaint(); } }); monde.addItemListener(new ItemListener() { public void itemStateChanged(ItemEvent evt) { ardoise.inverserFaireMonde(); ardoise.repaint(); } }); groupe.add(petit); groupe.add(moyen); groupe.add(grand); panneauRadio.add(petit); panneauRadio.add(moyen); panneauRadio.add(grand); panneauRadio.setBorder(BorderFactory.createLineBorder(Color.GREEN)); panneauCocher.add(monde); panneauCocher.add(tour); panneauCocher.setBorder(BorderFactory.createLineBorder(Color.RED)); panneauChoix.add(panneauRadio, BorderLayout.NORTH); panneauChoix.add(panneauCocher, BorderLayout.SOUTH); panneauChoix.setBorder(BorderFactory.createLoweredBevelBorder()); add(ardoise, BorderLayout.CENTER); add(panneauChoix, BorderLayout.EAST); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); pack(); setVisible(true); } } class EssaiCocher { public static void main(String[] arg) { new FenetreCocher(); } }