Partage
  • Partager sur Facebook
  • Partager sur Twitter

Recréer les fonctions Graphics - Paint

    26 mai 2019 à 12:23:11

    Bonjour,

    Pour notre projet à l'IUT nous devons faire un PAINT, pour ce faire, en suivant les consignes, nous devons refaire nos propres classes. Par exemple, au lieu d'utiliser drawLine, on doit créer notre propre classe Segment qui dessine une ligne (un segment). Nous devons faire ça pour la plupart des formes géométriques (Rectangle, Losange, rond, etc). Or je ne vois absolument pas comment faire ça.

    Nous avons une classe "Windows" qui hérite de JFrame et qui est donc notre fenêter principal, nous avons mis trois JPanel, l'un pour le menu, l'un pour le header et l'un pour la zone de dessin qui est "drawPanel". On veut pouvoir dessiner dans la classe "Windows" sur le JPanel drawPanel.

    import java.awt.Graphics;
    
    public class Segment extends ObjetBase {
    	private Point2D pE;
    	
    	public Segment(Point2D pO, Point2D pE) {
    		super(pO);
    		this.pE = pE;
    		
    		Graphics g = null;
    		g.drawLine(pO.getX(), pO.getY(), pE.getX(), pO.getY());
    		
    	}
    	
    	public Point2D getpE() {
    		return pE;
    	}
    
    
    	public void setpE(Point2D pE) {
    		this.pE = pE;
    	}
    
    	public void afficher() {
    		// TODO Auto-generated method stub
    		
    	}
    
    	@Override
    	public void deplacer(Point2D p) {
    		// TODO Auto-generated method stub
    		
    	}
    }
    
    

    Ici notre classe "Segment", nous pensons que lorsque l'on appel le constructeur, celui-ci doit dessiner un Segment, mais comment peut-on faire pour qu'il le dessine dans le JPanel que l'on veut (comme la méthode Graphics de base) ? Cette classe comme toutes la tures héritent de "ObjetBase"

    public abstract class ObjetBase extends PointOrigine {
    
    	public ObjetBase(Point2D pO) {
    		super(pO);
    		// TODO Auto-generated constructor stub
    	}
    	
    	public abstract void afficher();
    	
    	public abstract void deplacer(Point2D p);
    }
    


    Celle-ci hérite de "PointOrigine".

    public class PointOrigine {
    	private Point2D pO;
    	
    	public PointOrigine(Point2D pO) {
    		this.pO = pO;
    	}
    
    	public Point2D getpO() {
    		return pO;
    	}
    
    	public void setpO(Point2D pO) {
    		this.pO = pO;
    	}
    }
    

    Toutes ses classes utilisent une classe "Point2D" que nous avons créée et qui donne simplement un point X et Y.

    Si quelqu'un a une piste à nous conseiller pour savoir comment commencer ce serait cool :/ !

    Egalement, on a un p'tit soucis, dès qu'on déplace la fenêtre ou qu'on la réduit, tout s'efface ! Et on a pas trouvé comment éviter ça...

    Merci beaucoup :) !

    -
    Edité par LordHawk 26 mai 2019 à 22:42:55

    • Partager sur Facebook
    • Partager sur Twitter

    Recréer les fonctions Graphics - Paint

    × 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.
    • Editeur
    • Markdown