Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Effacer un rectangle en Java 2D [ Multimédia / Java2D ] (forcels)

mardi 30 octobre 2007 à 13:36:18 | Effacer un rectangle en Java 2D

forcels

Hello,

Je crée une application qui permet de dessiner, comme mspaint. Je dois faire en sorte de pouvoir insérer du texte dans le dessin.
Pour cela, je dessine un rectangle, qui sert à délimiter ma zone de texte. Lorsque je clique ailleurs que sur la zone de texte, j'efface ce rectangle et il ne reste plus que le texte.

Voici comment j'ai dessiné mon rectangle:

/**
   * Cette méthode permet de dessiner le rectangle se trouvant autour du texte, lors de l'insertion.
   * @param g2 Graphics2D
   */
   public void rectangle_texte(int xStart, int yStart){
      this.xStart = xStart;
      this.yStart = yStart;
      g2.setStroke(getStrokeTexte());
      g2.setColor(Color.GRAY);
      g2.drawRect(xStart,yStart,rectWidth,rectHeight);
      g2.fillRect(xStart-4, yStart-4, CARRE_PETIT_WIDTH, CARRE_PETIT_HEIGHT);
      g2.fillRect(xStart-4, yStart+rectHeight-4, 8, 8);
      g2.fillRect(xStart+rectWidth-4, yStart-4, 8, 8);
      g2.fillRect(xStart+rectWidth-4, yStart+rectHeight-4, 8, 8);

      sauvePositionRect(xStart, yStart, rectHeight, rectWidth);
   }

/**
    * Cette méthode définit le style de trait.
    * @return Stroke
    */
   private Stroke getStrokeTexte(){
     float [] tab = null;
     tab = new float[]{12,12};
     return new BasicStroke(1, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER, 3, tab, 0);
  }

Après, pour effacer ce rectangle, j'ai pensé à la méthode setXORMode, mais je ne parviens pas à l'effacer.
Voici comment je l'ai utilisée:

// Permet d'effacer un élément de la zone de dessin
   public void efface(){
      System.out.println("efface");
      g2 = (Graphics2D)drawpanel.getGraphics();
      g2.setXORMode(drawpanel.getBackground());
      g2.dispose();
   }


g2 = Graphics2D  ||  drawpanel = panel sur lequel je dessine
Autre précision: le panel est blanc et mon rectangle est dessiné en gris (Color.GRAY).

Est-ce que aurait une idée pour effacer ce rectangle ?

Merci d'avance pour toute aide !

forcels


mardi 30 octobre 2007 à 15:03:57 | Re : Effacer un rectangle en Java 2D

forcels


J'ai omis de préciser que mon rectangle est blanc, avec uniquement un stroke gris.

Autrement j'ai effectué quelques tests avec la méthode setXORMode, mais elle marche apparemment que pour du noir/blanc...

Je dois encore faire attention au fait que si une autre forme est dessinée dessous, elle ne doit pas s'effacer.

Quelqu'un connaitrait une solution pour effacer ce rectangle ?
Est-ce que si je met en transparence mon rectangle, est-ce que ça peut fonctionner (le stroke devient-il aussi transparent?) ?

Merci d'avance pour votre aide.

forcels




Cette discussion est classé dans : effacer, rectangle, g2, xstart, ystart


Répondre à ce message

Sujets en rapport avec ce message

Stroke transparent ?? [ par forcels ] Hello,est-il possible de rentre un stroke transparent ?J'ai dessiné un rectangle blanc avec un stroke gris et je veux par la suite enlever mon stroke. rectangle et evenement bouton [ par oceane751 ] bonjour à tous!!j'ai un petit soucis.je creé un rectangle et j'aimerai par clic sur un bouton (nommé "jaune" ou "vert") que le rectangle change de cou Javascript [ par jeffray03 ] Salut tout le monde,j´ai un petit souci,  j´aimerais savoir comment faire pour savoir que mon champ text est masqué( en vue de l´effacer) ou non.car  dessiner une cercle avec Jgraph [ par imenmannou ] Salut,Je veux dessiner une cercle avec Jgraph, alors j'au fait deux classes la première nomée class CircleView et son code est le suivant :public clas effacer une interface [ par jabrer ] comment je peut éffacer une interface graphique creer avec eclipse JGraph [ par qairo ] bonjour, mon problème et que j'ai crée class rectangle à l'aide de la bibliothèque JGraph. import java.awt.*; import java.awt.geom.Rectangle2D; impo Quesque vous pensez ? [ par amine1234Z ] SalutEnfin Voila apres 6 jours de recherche comment Ajoutter un :Jtable avec layout null dans JscrollPane package testjscolpane;import ja effacer le contenue d'un fichier [ par chat11 ] J'ai le code ci-dess Algo chaud/froid ? [ par lrequena ] Pour simplifier le plus possible... Voici comment je résume mon probleme :Je suis sur un terrain de dimension W*H dont je possède la carte.Je dois che Probleme Méthode Paint et ActionListener [ par Karibou95 ] Bonjour à tous :) Voici mon probleme : J'ai une class Repere_Canavas dans laquelle j'ai la méthode paint, jusqu'a la tout va bien mon canvas s'affic


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,234 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.