Panneau Controle
Panneau Controle
Panneau Controle
package ihm;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.lang.reflect.Method;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
import metier.* ;
private PanneauSaisieReel qa ;
private PanneauSaisieReel xa ;
private PanneauSaisieReel ya ;
private PanneauSaisieReel qb ;
private PanneauSaisieReel xb ;
private PanneauSaisieReel yb ;
private PanneauSaisieReel xm ;
private PanneauSaisieReel ym ;
private PanneauSaisieReel v ;
public PanneauControle() {
super();
this.setPreferredSize(new Dimension(200,180));
bOk.addActionListener(this);
breinitialiser.addActionListener(this);
this.add(qa);
this.add(xa);
this.add(ya);
this.add(qb);
this.add(xb);
this.add(yb);
this.add(xm);
this.add(ym);
this.add(lab);
this.add(bOk);
this.add(breinitialiser);
FENETRE PRINCIPALE
package ihm;
import java.awt.Dimension;
import javax.swing.JFrame;
/**
*
* Les objets peuvent déclencher des évènements Events.
* Pour gérer les évènements, nous allons mettre en oeuvre des écouteurs
* (Listener).
* <br>
* Lors des étapes précédentes, les panneaux : contrôle, dessin et état étaient
* anonymes.
* <br>
* A la prochaine étape ils vont interagir. Nous allons dès à présent associer
* des noms à leurs instances afin que ces interactions soient possibles.
* @author C. Duclou
* @version 02
*/
public FenetrePrincipale() {
super() ;
this.setTitle("Projet info");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLocation(400, 100);
this.setMinimumSize(new Dimension(800,400));
this.add(new PanneauPrincipal());
this.pack();
this.setVisible(true);
}
PANNEAU PRINCIPAL
package ihm;
import courbe.Courbe;
import java.awt.BorderLayout;
import javax.swing.JPanel;
/**
* @author C. Duclou
* @version 05
*/
public PanneauPrincipal() {
super();
this.setLayout(new BorderLayout());
panControle.setPanDessin(panDessin);
this.add(panControle, BorderLayout.WEST);
this.add(panDessin, BorderLayout.CENTER);
package ihm;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import javax.swing.JFormattedTextField;
import javax.swing.JLabel;
import javax.swing.JPanel;
/**
* <br>
* <br>
* Cette classe peut être utilisée dans tout programme.
* <br>
* ainsi
* <br>
* <br>
* <br>
* <br>
* @author C. Duclou
* @version 02
*/
/**
*/
/**
*/
*/
super() ;
this.val = 0.0 ;
if(formatScientifique){
} else{
reelFormat.setMinimumFractionDigits(2);
jft.setColumns(30);
jft.setValue(this.val);
/**
*/
jft.addPropertyChangeListener("value", this);
this.add(lab);
this.add(jft);
/**
*/
return this.val;
/**
*/
this.val = val ;
jft.setText(""+val);
/**
* PropertyChangeListener
*/
@Override
val = (((Number)jft.getValue()).doubleValue() );
jft.setText(String.format("%0,2f", val));
lab.getText(), val) ;
GENCOURBE
package courbe;
/**
* @author C. Duclou
* @version 01
*/
/**
*
* @param courbe la courbe à affecter
*/
COURBE
package courbe;
/**
* @author C. Duclou
* @version 01
*/
/**
*/
}
COORDONNEES
package courbe;
/**
* @author C. Duclou
* @version 01
*/
/**
* abscisse du point
*/
private double x ;
/**
* ordonnée du point
*/
private double y ;
this.x = x;
this.y = y;
/**
*/
/**
*/
return y;