begin process at 2010 02 10 02:11:09
  Trouver un code source :
 
dans
 
Accueil > Forum > 

JAVA / J2EE / J2ME

 > 

Multimédia

 > 

Java2D

 > 

union de polygones


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

union de polygones

mercredi 25 juillet 2007 à 17:55:04 | union de polygones

umafaid

Bonjour,

je dessines des polygones sur un panel et j'aimerais faire une union de deux polygones. Quelqu'un aurait-il des idées à me donner pour faire cela?

Merci d'avance.
vendredi 27 juillet 2007 à 12:22:04 | Re : union de polygones

Twinuts

Membre Club Administrateur CodeS-SourceS

Salut,

passe par la classe java.awt.geom.Area qui permet de faire ce que tu veux

Voici un exemple assez simple de ce que tu peux faire (Je l'ai trouvé sur le web) :
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import java.awt.Shape;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.geom.Area;
import java.awt.geom.Ellipse2D;
import java.awt.geom.Rectangle2D;

import javax.swing.JComboBox;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class CombiningShapes extends JComponent {
  private Shape mShapeOne, mShapeTwo;

  private JComboBox mOptions;

  public CombiningShapes() {
    mShapeOne = new Ellipse2D.Double(40, 20, 80, 80);
    mShapeTwo = new Rectangle2D.Double(60, 40, 80, 80);
    setBackground(Color.white);
    setLayout(new BorderLayout());

    JPanel controls = new JPanel();

    mOptions = new JComboBox(new String[] { "outline", "add",
        "intersection", "subtract", "exclusive or" });

    mOptions.addItemListener(new ItemListener() {
      public void itemStateChanged(ItemEvent ie) {
        repaint();
      }
    });
    controls.add(mOptions);
    add(controls, BorderLayout.SOUTH);
  }

  public void paintComponent(Graphics g) {
    Graphics2D g2 = (Graphics2D) g;
    g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
        RenderingHints.VALUE_ANTIALIAS_ON);

    String option = (String) mOptions.getSelectedItem();
    if (option.equals("outline")) {
      // draw the outlines and return.
      g2.draw(mShapeOne);
      g2.draw(mShapeTwo);
      return;
    }

    // Create Areas from the shapes.
    Area areaOne = new Area(mShapeOne);
    Area areaTwo = new Area(mShapeTwo);
    // Combine the Areas according to the selected option.
    if (option.equals("add"))
      areaOne.add(areaTwo);
    else if (option.equals("intersection"))
      areaOne.intersect(areaTwo);
    else if (option.equals("subtract"))
      areaOne.subtract(areaTwo);
    else if (option.equals("exclusive or"))
      areaOne.exclusiveOr(areaTwo);

    // Fill the resulting Area.
    g2.setPaint(Color.orange);
    g2.fill(areaOne);
    // Draw the outline of the resulting Area.
    g2.setPaint(Color.black);
    g2.draw(areaOne);
  }
 
  public static void main(String[] args) {
      JFrame.setDefaultLookAndFeelDecorated(true);
    JFrame f = new JFrame();
    f.setTitle("Test");
    f.setDefaultCloseOperation(3);
    f.add(new CombiningShapes());
    f.setSize(220, 220);
    f.setLocationRelativeTo(null);
    f.setVisible(true);
  }
 
}



------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO


Cette discussion est classée dans : union, polygones


Répondre à ce message

Sujets en rapport avec ce message

faire bouger des polygones [ par dian_e ] bonjour est il possible en java de faire bouger des polygones, nous cherchons des programmes ou des aides.nous devons faire bouger les blocs 3d de roc Surface et perimetre [ par Pratana ] salutjai un polygone que je vais couper en 2 puis j'enleve un des 2 polygones restant le plus petit.ma question est : prendre le plus petit perimetre faire l'union deux listes [ par ulysse00 ] salut j'ai deux liste A =[[12,13,15],[134]]B=[[12,13,15],[1356]]je cherche a faire l'union entre deux liste A et B dans C de façon avoir C==[[12,13,15 Probleme de transformation d'une requete Access en Requete sql sous Java [ par facilus68 ] Bonjour, j'ai une requete Access que je veux la transformer et l'executer en java, cette requete contient une sous requete, j'arrive pas a transformer Manipulation de polygone [ par tomski ] Bonjour a tous J'essaye actuellement de faire un programme qui manipule des polygones. J'ai une frame avec a gauche des boutons et des listes et d


Nos sponsors


Sondage...

Comparez les prix


HTC Magic

Entre 429€ et 429€

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,468 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales