All pastes #64364 Raw Edit

mathieu

public text v1 · immutable
#64364 ·published 2006-06-11 16:09 UTC
rendered paste body
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;

/**
 * Classe qui contient définie la présentation et l'utilisation de l'interface graphique 
 * @param dessin de type DessinFigures
 * @param bnj JRadioButton pour créer une nouvelle figure
 * @param btrace JRadioButton pour créer un tracé à main levée
 * @param bmanip JRadioButton pour manipuler une figure
 * @param fbox JComboBox pour le choix de la figure à tracer
 * @param cbox JComboBox pour le choix de la couleur
 * @param couleur de type Color
 * @param figure entier représentant le choix de la figure à créer
 */

public class Fenetre extends JPanel  {
	
	private static final long serialVersionUID = 1L;
	private DessinFigures dessin;
	private JRadioButton bnf;
	private JRadioButton btrace;
	private JRadioButton bmanip;
	private final JComboBox fbox;
	private final JComboBox cbox;
	private JButton bColorChooser; 
	private JButton bsuppr;
	private Color couleur;
	private int figure;
	
	/**
	 * Constructeur de la Classe Fenetre.
	 * 
	 */
	public Fenetre() {
		
		dessin = new DessinFigures();
		setLayout(new BorderLayout());
		JPanel jp =new JPanel();
		ButtonGroup bg = new ButtonGroup();
		bnf = new JRadioButton("Nouvelle Figure");
		btrace = new JRadioButton("tracé à main levé");
		bmanip = new JRadioButton("manipulations");
		bg.add(bnf);
		bg.add(btrace);
		bg.add(bmanip);
		jp.add(bnf);
		jp.add(btrace);
		jp.add(bmanip);
		bmanip.setSelected(true);
		cbox = new JComboBox(new String[]{"rouge", "vert", "jaune", "bleu", "noir"});
		fbox = new JComboBox(new String[]{"rectangle","triangle","cercle","quadrilatère"});
		jp.add(fbox);
		jp.add(cbox);
		bColorChooser = new JButton("autres couleurs");
		bsuppr = new JButton("Supprimer", new ImageIcon("images/corbeille_mini.gif") );
		jp.add(bColorChooser);
		jp.add(bsuppr);
		dessin.setBackground(Color.WHITE);
		add(dessin, BorderLayout.CENTER);
		add(jp, BorderLayout.NORTH);
		couleur = Color.red;
		bnf.addActionListener( new ActionListener() {
			
			public void actionPerformed(ActionEvent e) {
				
				switch (figure) {
				case 0:
					
					dessin.construit(new UnRectangle(couleur));
					System.out.println("test");
					break;
					
				case 1:
					
					dessin.construit(new UnTriangle(couleur));
		
					break;
				case 2:
					
					dessin.construit(new UnCercle(couleur));
					
					break;
				case 3:
					
					dessin.construit(new UnQuadrilatere(couleur));
					
					break;
					
				}
			}
			
		});

		btrace.addActionListener( new ActionListener() {
			
			public void actionPerformed(ActionEvent e) {
				dessin.trace(couleur);	
			}
			
		});
		
		bmanip.addActionListener( new ActionListener() {
			
			public void actionPerformed(ActionEvent e) {
				
				dessin.activeManipulationFormes();
			}
		});
		
		bColorChooser.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e) {
				JColorChooser jcc = new JColorChooser();
				couleur = jcc.showDialog(bColorChooser, "choix de la couleur", Color.BLACK);
				if(btrace.isSelected()){
					btrace.doClick(0);
				}
				else {
				dessin.changeCouleur(couleur);
				}
				repaint();
			}
			
		});
		
		bsuppr.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e) {
				dessin.supprime();
				repaint();
			}
			
		});
		fbox.addActionListener( new ActionListener() {
			
			public void actionPerformed(ActionEvent e) {
					figure = ((JComboBox)e.getSource()).getSelectedIndex();
			}
		});
		
		cbox.addActionListener( new ActionListener() {
			
			public void actionPerformed(ActionEvent e) {
				switch (((JComboBox)e.getSource()).getSelectedIndex()){
				case 0:
					couleur = Color.RED;
					break;
				case 1: 
					couleur = Color.GREEN;
					break;
				case 2: 
					couleur = Color.YELLOW;
				break;
				case 3: 
					couleur = Color.BLUE;
					break;
				case 4:
					couleur = Color.BLACK;
				}
				if(btrace.isSelected()){
					btrace.doClick(0);
				}
				else {
				dessin.changeCouleur(couleur);
				}
				repaint();
			}
		});
	}
		
	
}