//Clément Martins et Tom Monin //Class utiliser pour observateur avec plusieur action ossible (en fonction de sa fonction défini a la création) import java.awt.event.*; import javax.swing.*; import java.awt.*; public class observateurButtonEtText implements ActionListener { private plateau plat; private int fonction; private JTextField zone; private JFrame fenetre; public observateurButtonEtText(plateau plat0, int fonction0, JTextField zone0, JFrame fenetre0){ this.plat=plat0; this.fonction=fonction0; this.zone=zone0; this.fenetre=fenetre0; } @Override public void actionPerformed(ActionEvent evenement){ if(this.fonction==1){ int nombre=0; try{ this.zone.setBackground(new Color(255,255,255)); nombre=Integer.parseInt(evenement.getActionCommand()); if(nombre<0){ nombre=0; } if(this.plat.getLigne()!=-1 && this.plat.getCollonne()!=-1){ if(nombre>this.plat.getLigne()*this.plat.getCollonne()){ nombre=this.plat.getLigne()*this.plat.getCollonne(); } this.zone.setText(String.valueOf(nombre)); }else{ this.zone.setBackground(Color.red); this.zone.setText("Selectionner Ligne et Collonne Avant"); this.plat.setBombe(-1); } this.plat.setBombe(nombre); }catch(NumberFormatException e1){ this.zone.setBackground(Color.red); this.zone.setText("rentrer un nombre valide"); this.plat.setBombe(-1); } } if(this.fonction==2){ int nombre=0; try{ this.zone.setBackground(new Color(255,255,255)); nombre=Integer.parseInt(this.zone.getText()); if(nombre<0){ nombre=0; } if(this.plat.getLigne()!=-1 && this.plat.getCollonne()!=-1){ if(nombre>this.plat.getLigne()*this.plat.getCollonne()){ nombre=this.plat.getLigne()*this.plat.getCollonne(); } this.plat.setBombe(nombre); if(this.plat.getLigne()!=-1 && this.plat.getCollonne()!=-1 && this.plat.getBombe()!=-1){ this.plat.newGame(); }else{ if(this.plat.getBombe()==-1){ this.zone.setBackground(Color.red); this.zone.setText("Rentrer un nombre de Bobme"); } } }else{ this.zone.setBackground(Color.red); this.zone.setText("Selectionner Ligne et Collonne Avant"); this.plat.setBombe(-1); } this.plat.setBombe(nombre); }catch(NumberFormatException e1){ this.zone.setBackground(Color.red); this.zone.setText("rentrer un nombre valide"); this.plat.setBombe(-1); } } } }