Bonjour je suis débutant en java, même si j'ai quelque notion.
Je me suis lancer dans la création d'un paint assez simpliste.
Je dois pouvoir créer des objets de forme diverse (Rectangle, Carré,...), avec une couleur et une taille définis par l'utilisateur.
Actuellement ma fenêtres principale se lance, si dans le menu déroulant l'utilisateur choisit une forme (que le rectangle de fait pour l'instant) une fenêtre(JPanel) s'ouvre ou l'utilisateur peut choisir c'est valeur.
Mais lorsque l'on ferme (avec OK) rien ne se passe, les données ne sont pas modifié dans Editeur Graphique.
Lorsque que l'on clique sur définir fond la couleur se met bien en place.
Une fois que j'ai choisi une forme (seulement Rectangle et carré d'implémenter), et que je clique sur la zone de dessin, je crée un objet de la forme voulu, les données sont bien mise dans les classes en rapport, mais lorsque je test l'ArrayList pour voir son contenue ou pour essayer de l'afficher il n'y a plus rien dedans.
Merci de toute l'aide que vous pourrez me fournir en espérant que l'on pourra m'aider
package tpn_java;
import java.awt.Rectangle;
public abstract class Forme extends Rectangle{
private int typeForme;
private int coordX;
private int coordY;
private int couleur;
public Forme(int type,int coordX,int coordY,int couleur){
setTypeForme(type);
this.setCoordX(coordX);
this.setCoordY(coordY);
this.setCouleur(couleur);
}
public void setTypeForme(int typeForme) {
this.typeForme = typeForme;
}
public int getTypeForme() {
return typeForme;
}
public void setCoordX(int coordX) {
this.coordX = coordX;
}
public int getCoordX() {
return coordX;
}
public void setCoordY(int coordY) {
this.coordY = coordY;
}
public int getCoordY() {
return coordY;
}
public void setCouleur(int couleur) {
this.couleur = couleur;
}
public int getCouleur() {
return couleur;
}
public abstract int getLongueur();
public abstract int getLargeur();
public abstract void setLongueur(int l);
public abstract void setLargeur(int l);
public abstract void setCote(int c);
public abstract int getCote();
}
Ma Classe Rect
package tpn_java;
public class Rect extends Forme{
private int longueur;
private int largeur ;
public Rect(int coordX,int coordY,int couleur, int longueur, int largeur){
super(1,coordX,coordY,couleur);
this.setLongueur(longueur);
this.setLargeur(largeur);
}
public void setLongueur(int longueur) {
this.longueur = longueur;
}
public int getLongueur() {
return longueur;
}
public void setLargeur(int largeur) {
this.largeur = largeur;
}
public int getLargeur() {
return largeur;
}
@Override
public void setCote(int c) {
// TODO Auto-generated method stub
}
@Override
public int getCote() {
// TODO Auto-generated method stub
return 0;
}
}
Ma Classe Carre
package tpn_java;
import java.awt.Rectangle;
public class Carre extends Forme{
private int cote;
public Carre(int coordX,int coordY,int couleur, int cote){
super(2,coordX,coordY, couleur);
this.setCote(cote);
}
public void setCote(int cote) {
this.cote = cote;
}
public int getCote() {
return cote;
}
@Override
public int getLongueur() {
// TODO Auto-generated method stub
return 0;
}
@Override
public int getLargeur() {
// TODO Auto-generated method stub
return 0;
}
@Override
public void setLongueur(int l) {
// TODO Auto-generated method stub
}
@Override
public void setLargeur(int l) {
// TODO Auto-generated method stub
}
}
Ma Classe ParametersRectangle
package tpn_java;
import java.awt.Color;
import java.awt.GridLayout;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JSpinner;
import javax.swing.SpinnerNumberModel;
public class ParametersRectangle extends EditeurGraphique {
protected JPanel top,bot;
protected JSpinner spinX,spinY;
protected JLabel topText,topText2;
protected JButton ok,exit;
private int longueur, largeur;
public ParametersRectangle(){
setSize(200, 250);
setTitle("Dimension du Rectangle");
setBackground(Color.white);
JPanel tmp = new JPanel();
add(tmp,"North");
top = new JPanel();
topText = new JLabel("Longueur : ");
topText2 = new JLabel("Largeur : ");
SpinnerNumberModel pourSpinX = new SpinnerNumberModel (1, 1, 100, 1 );
SpinnerNumberModel pourSpinY = new SpinnerNumberModel (1, 1, 100, 1 );
spinX = new JSpinner(pourSpinX);
spinY = new JSpinner(pourSpinY);
spinX.setSize(15, 30);
spinY.setSize(15,30);
top.setLayout(new GridLayout(2,1));
top.add(topText);
top.add(spinX);
top.add(topText2);
top.add(spinY);
top.setBackground(Color.white);
add(top);
bot = new JPanel();
bot.setBackground(Color.white);
exit = new JButton("Annuler");
ok = new JButton("Valider");
bot.add(ok);
bot.add(exit);
add(bot,"South");
System.out.println((Integer)spinX.getValue());
ok.addMouseListener(new saveParameters());
exit.addMouseListener(new exitParameters());
}
class saveParameters extends MouseAdapter{
public void mousePressed(MouseEvent e){
System.out.println("BONJOUR MousePressed PArameters Rectangle");
send((Integer)spinX.getValue(),((Integer)spinY.getValue()));
dispose();
}
}
class exitParameters extends MouseAdapter{
public void mousePressed(MouseEvent e){
dispose();
}
}
public void send(int longueur, int largeur){
System.out.println("BONJOUR SEND "+super.getName());
setLargeur(largeur);
setLongueur(longueur);
System.out.println("BONJOUR SEND"+longueur + " " + largeur);
}
public int getLargeur() {
return largeur;
}
public int getLongueur() {
return longueur;
}
public void setLongueur(int longueur) {
this.longueur = longueur;
}
public void setLargeur(int largeur) {
this.largeur = largeur;
}
}
Problème Dessin dans JPanel
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.