Accueil > Forum > > > > Au sujet d'un traçage de ligne avec Drawline
Au sujet d'un traçage de ligne avec Drawline
vendredi 27 janvier 2006 à 18:04:36 |
Au sujet d'un traçage de ligne avec Drawline

rastaprogram
|
Voila, j'ai fais un petit prog qui trace des lignes toute bete.
Avec une pression sur le bouton de la souris je crée la ligne et
ensuite elle s'agrandit au fur et a mesure que le curseur bouge dans la
fenêtre. Une fois le bouton de souris relaché, la ligne est créée.
Le pb est lorsque je veux dessiner une ligne oblique, avec mon
programme elle ne se dessine que du haut gauche vers le bas droit.
Voici mon Code car les explications ne sont pas très clair (dsl !!!).
import java.awt.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import javax.swing.*;
public class Ligne extends JPanel{
int xDep,yDep,xArr,yArr;
int x,y;
public Ligne(){
setLayout(new BorderLayout());
addMouseListener(new PointeDessin());
addMouseMotionListener(new BougeDessin());
}
public void paint(Graphics g){
//super.paint(g);
g.setColor(Color.red);
g.drawLine(x,y,getWidth()-1,getHeight()-1);
}
public class PointeDessin implements MouseListener{
public void mousePressed(MouseEvent pointeur) {
xDep = pointeur.getX();
yDep = pointeur.getY();
}
public void mouseClicked(MouseEvent arg0) {}
public void mouseReleased(MouseEvent arg0) {}
public void mouseEntered(MouseEvent arg0) {}
public void mouseExited(MouseEvent arg0) {}
}
public class BougeDessin implements MouseMotionListener{
public void mouseDragged(MouseEvent pointeur) {
xArr = getX()+(pointeur.getX()-xDep);
yArr = getY() + (pointeur.getY()-yDep);
setBounds(xArr,yArr,getWidth(),getHeight());
repaint();
}
public void mouseMoved(MouseEvent arg0) {}
}
}
import java.awt.*;
import java.awt.event.*;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class ZoneDeDessin extends JPanel{
int xDep=0,yDep=0,xArr=0,yArr=0,l=0,h=0;
Graphics g;
Ligne L;
public ZoneDeDessin(){
super();
setBackground(Color.cyan);
addMouseListener(new Souris());
addMouseMotionListener(new SourisBouge());
setLayout(null);
}
public void paint(Graphics g){
super.paint(g);
}
public class Souris implements MouseListener{
public void mousePressed(MouseEvent pointeur) {
xDep = pointeur.getX();
yDep = pointeur.getY();
xArr = xDep;
yArr = yDep;
L = new Ligne();
add(L);
}
public void mouseClicked(MouseEvent pointeur) {}
public void mouseReleased(MouseEvent arg0) {}
public void mouseEntered(MouseEvent arg0) {}
public void mouseExited(MouseEvent arg0) {}
}
public class SourisBouge implements MouseMotionListener{
public void mouseDragged(MouseEvent pointeur) {
// TODO Auto-generated method stub
xArr = pointeur.getX();
yArr = pointeur.getY();
l = Math.abs(xArr-xDep);
h = Math.abs(yArr-yDep);
L.setBounds(Math.min(xDep,xArr),Math.min(yDep,yArr),l,h);
repaint();
}
public void mouseMoved(MouseEvent arg0) {}
}
public static void main(String s[]) {
JFrame f = new JFrame("Ligne");
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {System.exit(0);}
});
ZoneDeDessin panel = new ZoneDeDessin();
f.getContentPane().add(panel, BorderLayout.CENTER);
f.pack();
f.setSize(new Dimension(350,250));
f.setVisible(true);
}
}
Merci d'avance
|
|
lundi 30 janvier 2006 à 21:50:52 |
Re : Au sujet d'un traçage de ligne avec Drawline

bloofi
|
Réponse acceptée !
C'est normal qu'elle n'est pas oblique puisque c'est une ligne :)
Methode bidouille :
avoir une liste de points :
a chak event drag, tu ajoutes un point dans la liste correspondant aux
coords x,y de la souris, et tu paint une ligne entre chaque point.
|
|
Cette discussion est classée dans : ligne, public, void, pointeur, mouseevent
Répondre à ce message
Sujets en rapport avec ce message
Surcharge d'update pour éviter effacement du composant ne fonctionne pas [ par romanocry10 ]
Je desire dessiner sur une JInternalFrame grâce à des évènements souris. Mais je ne veux pas qu'à chaque repaint() mon composant soit effacer. Je surc
pb: Jpanel transparent... [ par tlehoucq ]
Voila g un pti pb, J' ai un panel principal qui contient plusieurs autres panels. J'aimerais que ces panels "fils" restent transparents jusqu'àce que
Probleme de JColorChooser [ par fabgog ]
Bonjour je tente de realiser un editeur de texte en java et je bloque sur le choix de la couleur.j'utilise un JcolorChooser pour avoir une palette de
clic droit sur JTable [ par jguillemette ]
Comment peut-on récupérer la valeur d'une cellule d'une JTable sur laquelle on a fait un clic droit?JTable.addMouseListener( new MouseListener() {
Evènement en java [ par Deathmaker ]
Tout d’abord, bonjour à vous tous ! Je vais vous expliquer mon problème en dessin, ça sera beaucoup plus compréhensible… Voilà ce que j’ai au dépa
NullPointerException [ par castor62 ]
Bonjour,J'ai une petite erreur NullPointerException en lancant mon application !J'ai créé un UI pour mon Jtabbedpane :public class MyCloseTabbedUI ext
pop up menu [ par monpseudonom ]
Salut.Je veux réaliser un menu contextuel en java.c'est à dire lorsque je clique sur le boutton droit de la souris,le menu contextuel s'affiche.Pour c
probleme MouseListener [ par romainbisson ]
Bonsoir,j'ai un probleme avec mon programmepublic class Bisson extends JFrame implements MouseListener{error : The type Bisson must implement the inhe
Bloquage de coordonnée d'une image en java ? [ par fnxsawyer ]
Bonjour à tous, Je suis en train de développer une application qui requiert de redessiner tous les composants les plus simples. Je suis en train de r
éxécuter un une méthode d'une classe précise via un KeyListener [ par szambaux ]
Bonjour j'ai besoin de piloter mon application via le clavier, pour cela j'ai créer une classe ClavierListener qui écoute le clavier, le but est que l
Livres en rapport
|
Derniers Blogs
UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|