Accueil > Forum > > > > interface graphique java
interface graphique java
jeudi 15 avril 2004 à 19:11:11 |
interface graphique java

Syl20estbon
|
Bonjour, Voila j'ai un double probleme: en fait je voudrais récuperer un evenement souris donc a l'interieur de la classe qui fait le dessin j'ai mis une classe qui herite de MouseAdapter avec une methode mouseClicked qui fait apparaitre une nouvelle JFrame seulement quand je clique il y a plein de fenetres qui apparaissent. Est-ce que ca ne serait pas du a la methode paintComponent(Graphics g) ? De plus je n'arrive pas a recuperer les coordonnées de la souris lors du clic. merci de votre aide
|
|
jeudi 15 avril 2004 à 19:36:30 |
Re : interface graphique java

JBAware
|
JB@WAresans le code je vois mal comment t'aider
|
|
jeudi 15 avril 2004 à 20:53:15 |
Re : interface graphique java

Syl20estbon
|
voila le code de la partie executable : import javax.swing.*; import java.awt.*; import java.awt.event.*;
public class TestMap{
static JFrame fenetre = new JFrame("essai de carte");
public static void main(String[] args){ Toolkit kit = Toolkit.getDefaultToolkit(); Dimension ecran =kit.getScreenSize(); fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); fenetre.setSize((int)ecran.getWidth(),(int)ecran.getHeight()-33); JMenuBar menu = new JMenuBar(); JMenu file = new JMenu("Files"); JMenuItem nouveau = new JMenuItem("new"); menu.add(file); file.add(nouveau); fenetre.setJMenuBar(menu); //fenetre.getContentPane().add(menu); JTabbedPane choix = new JTabbedPane(); Map carte=new Map("cala",0,false); carte.acquisition(); fenetre.getContentPane().add(choix); choix.add("Jour",carte); Map carte2 = new Map("cala",1,false); carte2.acquisition(); choix.add("Nuit",carte2); fenetre.show(); } }
|
et voila le code de la partie qui affiche import java.awt.*; import javax.swing.*; import java.awt.geom.*; import java.util.*; import java.awt.event.*;
public class Map extends JPanel{ public static final int LON = 1016; public static final int LAR = 648; private String nomCarte; private Vector[] dessiner; private int jour; private CreerCarte map; private Vector moyenne = new Vector(); private int debut; private int fin; boolean zoom; private Vector[] pos = new Vector[6];
Map(String nomCarte,int jour,boolean zoom){ this.nomCarte=nomCarte; //this.periode=periode; this.jour=jour; this.zoom=zoom; this.debut=0; this.fin=6; }
Map(String nomCarte,int jour,boolean zoom,int debut,int fin){ this.nomCarte=nomCarte; this.jour=jour; this.zoom=zoom; this.debut=debut; this.fin=fin; }
public void init(){ for(int i=0;i<6;i++){ pos[i]=new Vector(); } }
public void acquisition(){ map = new CreerCarte(nomCarte); map.lectureCarte(); if(jour==0){ dessiner=map.getJour(); }else{ dessiner=map.getNuit(); } }
public void allcarte(Graphics g){ float coefx,coefy; if(zoom==false){ coefx = (float)(this.getSize().getWidth()/LON); coefy = (float)(this.getSize().getHeight()/LAR); addMouseListener(new Souris()); }else{ coefx=2; coefy=2; } init(); float x=(int)((10*coefx)+0.5); float yinit=(int)((220*coefy)+0.5); float y = yinit; Float temp; Graphics2D g2 = (Graphics2D)g; Formes f = new Formes(); //System.out.println("fini lecture carte"); int parc = 0; for(int periode=debut;periode<fin;periode++){ BarreCouleurs bar = new BarreCouleurs(map.getMax(periode,jour),map.getMin(periode,jour)); parc=0; //System.out.println(x); pos[periode].addElement(new Float(x)); pos[periode].addElement(new Float(y)); for(int i=41;i>0;i--){ for(int j=0;j<26;j++){ temp=(Float)dessiner[periode].elementAt(parc); setColor(Color.white); g.fillRect((int)x,(int)y,(int)((7*coefx)+0.5),(int)((7*coefy)+0.5)); //System.out.println("on est en ("+x+","+y+")"); //System.out.println("on a fé un carré à ("+(int)x+","+(int)y+") de taille "+(int)((7*coefx)+0.5)+" * "+(int)((7*coefy)+0.5)); //System.out.println((int)((7*coefx)+0.5)); //System.out.println((int)((7*coefy)+0.5)); if(temp.compareTo(new Float(-2222.0))==0){ g.setColor(Color.white); g.fillRect((int)x,(int)y,(int)((7*coefx)+0.5),(int)((7*coefy)+0.5)); //System.out.println("on a fé un carré de -2222 à ("+(int)x+","+(int)y+") de taille "+(int)((7*coefx)+0.5)+" * "+(int)((7*coefy)+0.5)); }else{ if(temp.compareTo(new Float(-5555.0))==0){ f.losange(g,(int)x,(int)y,coefx,coefy); }else{ if(temp.compareTo(new Float(-9999.0))==0){ f.croix(g,(int)x,(int)y,coefx,coefy); }else{ if(temp.compareTo(new Float(-3333.0))==0){ f.cercle(g,(int)x,(int)y,coefx,coefy); }else{ if(temp.compareTo(new Float(-1.0))==0){ g.setColor(Color.white); g.fillRect((int)x,(int)y,(int)((7*coefx)+0.5),(int)((7*coefy)+0.5)); }else{ g.setColor(bar.Coul(temp.floatValue())); g.fillRect((int)x,(int)y,(int)((7*coefx+0.5)),(int)((7*coefy)+0.5)); } } } } } y-=(int)((7*coefy)+0.5); //System.out.println("on retire "+(int)((7*coefy)+0.5)+" a y"); parc++; } y=(int)(yinit); x+=(int)((7*coefx)+0.5); } pos[periode].addElement(new Float(x)); pos[periode].addElement(new Float(y-(25*(int)((7*coefy)+0.5)))); pos[periode].addElement(new Integer(periode)); bar.barre(g,(int)x+((int)((10*coefx)+0.5)),(int)y-(25*(int)((7*coefy)+0.5)),coefx,coefy); if(periode==2){ x=(int)((10*coefx)+0.5); }else{ x+=(int)((40*coefx)+0.5); } if(periode==2){ yinit+=(int)((300*coefy)+0.5); y=yinit; } } System.out.println(pos[0]); } public void paintComponent(Graphics g){ super.paintComponent(g); }
private class Souris extends MouseAdapter{ public void mouseClicked(MouseEvent e){ int periode; Float x1,y1,x2,y2; Integer val; int x = 11;//getX(); int y =219; //getY(); System.out.println(x+" "+y); for(int i=0;i<6;i++){ x1=(Float)pos[i].elementAt(0); y1=(Float)pos[i].elementAt(1); x2=(Float)pos[i].elementAt(2); y2=(Float)pos[i].elementAt(3); if(x>x1.intValue() && y<y1.intValue() && x<x2.intValue() && y>y2.intValue()){ val=(Integer)pos[i].elementAt(4); periode=val.intValue(); int count=e.getClickCount(); JFrame panzoom = new JFrame("Zoom carte"); panzoom.setSize(700,500); Map carteZoom = new Map("cala",0,true,periode,periode+1); carteZoom.acquisition(); panzoom.getContentPane().add(carteZoom); panzoom.setResizable(false); panzoom.show(); } } }
} }
|
|
|
vendredi 16 avril 2004 à 09:38:33 |
Re : interface graphique java

kaloway
|
kaloway
à quoi sert ta boucle for(i=;i<6;i++)? si tu as 6 fenetres qui s ouvre, le pb vient de cette boucle.
|
|
vendredi 16 avril 2004 à 20:01:01 |
Re : interface graphique java

Syl20estbon
|
cette boucle sert a verifier si on est pas dans un des 6 vectors. La plupart du temps il y a 2 fenetres qui s'affichent parfois plus de 20. Je me demande si ca vien pas du paintComponent.
|
|
lundi 19 avril 2004 à 01:46:33 |
Re : interface graphique java

GodConan
|
GodConan addMouseListener(new Souris()); voila le coupable ;o) come on ne voi pas ds ton code ou est apeller allCarte( g ) et il semble qu elle doi etre apeller 'souvent'. En gros ton listner faut l ajouter qu une seul foi ;o)... Toi il semble que tu l ajoute de facon ciclic chac foi que tu veux une map ;o) c etonnant que t pas fait peter la stack ;o).. gl ++
|
|
Cette discussion est classée dans : java, graphique, classe, souris, interface
Répondre à ce message
Sujets en rapport avec ce message
JAVA+ communication entre 2 interface graphique [ par catherine87 ]
bonjour ,je suis nouvelle dans ce site [^^happy17] et je suis débutante en java [^^clinoeil3] j'ai creé 2 classe et je veut acceder a partir de mo
java [ par Rotsycs ]
bjr! je fait un projet comme la gestion d'un cyber café et je dois programmer une application avec java (.exe) qui gère la connexion des clients. mais
implémenter un interface graphique en java [ par asmasousou ]
salut tt le monde j'ai besoin de votre aide je suis élève ingénieur et j'effectue un stage de pfe je dois implémenter un interface graphique en jav
interface graphique java [ par farahoo ]
salut je suis en train de faire une interface graphique en java sur netbenas je veux insere une carte geographique surlaqquelle je vais mettre des ic
AIDE JAVA INTERFACE GRAPHIQUE [ par bronx72 ]
Bonjour à tous et à toutes, Je voulais vous demander votre aide pour un jeux que je crée en java qui est un risk et je fais la partie interface graph
la classe interface [ par stephanie86 ]
Bonjour à tous, Je suis nouvelle dans le développement et actuellement je travaille sur les bases de donnée (le sujet: compagnie ferroviere) nous avon
les classe interfaces en java [ par hanane7575 ]
bonjour ;j'au un petit explication aui concerne le pragrammation en javaj'ai un projet de fin formation sous suijet location de voiture et j'ai deje f
classe java [ par sancha ]
dsl je ss debutante en java et je ve faire la liaison entre 2 classes ,la 1er faire appeler la 2 eme :la 1er contient une interface dont laquelle on s
java swing [ par zbidii ]
Salut,Je suis entrain de developper une interface graphique avec swing java.J'ai deux petits problèmes:1° je veux imprimer les données saisies dan
java interface graphique buton radio [ par noussaa19 ]
Bonjour,j'essaie de faire une interface graphique avec netbeans, j'ai construit des button radio et je veux faire une insertion dans ma base du case s
Livres en rapport
|
Derniers Blogs
GESTION D'EXCEPTION AVEC LES TASKSGESTION D'EXCEPTION AVEC LES TASKS par richardc
Nous avons vu dans un précédent article comment utiliser Task pour effectuer des opérations dans un autre thread.
Malheureusement, comme tout le monde n'est pas parfait, il se peut que cette exécution se passe mal et qu'une exception se produise.
La...
Cliquez pour lire la suite de l'article par richardc DéMARRONS AVEC LES TASKSDéMARRONS AVEC LES TASKS par richardc
Que vous le vouliez ou non, le développement multi-tâche est maintenant une obligation pour toute nouvelle application. Il est donc vital d'en comprendre les mécanismes et de s'y mettre le plus tôt possible.
En attendant le .NET Framework 4.5 avec le...
Cliquez pour lire la suite de l'article par richardc SLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPSSLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPS par Vko
Retrouvez les slides et les démo de ma session Fast & Furious XAML Apps. A ceux qui se posent la question : "est-ce que le code de la DataGrid est disponible?", je vous répondrais "pas encore". Je vais mettre en place un projet codeplex pour part...
Cliquez pour lire la suite de l'article par Vko XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|