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
interaction entre Thread et JFrame [ par jpegg ]
Bonsoir,J ai un probleme pour l'interaction entre un Thread et une interface Graphique. J ai crée une classe heritant d un Thread que j ai appelé Serv
vi en java sans interface graphique [ par jules8491 ]
salut,je recherche un editeur de texte du style vi mais developpe en java et sans interface graphique, en gros les seuls classes dont j'ai acces sont
editeur java avec interface graphique [ par swiss_cheese10 ]
Je cherche un éditeur java en francais avec interface graphique ??Eske qqun peut m'aider ??J'ai essayé JBuilder, NetBeans, Script Edit mais je sais pa
classe graphique [ par carhartt62 ]
Bonjour, Etant novice en java, je vous demande de l'aide :Mon projet de fin d'année est bassé sur une applet java qui doit envoyer et revevoir des inf
interface graphique en java [ par maximus84 ]
bonjour, je travail sur un prog en java qui doit simuler un ascenseur désservant 10 étages....etc J'aimerai savoir si c t possible une interface gaphi
Interface graphique Java + programme systeme en C [ par nounouX ]
Voila j'aimerai savoir si il est possible de mettre une interface java a un langage Cpar exemple j'ai fait pour le moment un code tout simple avec un
Création d'une interface graphique par polymorphisme [ par diedatnight ]
Bonjours, je doit créé un interface graphique par polymorphisme, enfin j'ai un formulaire à constituer avec une classe FormulaireEmployer et une clas
Classe Abstraite & Interface [ par stela86 ]
Bonjour tout le monde ! Je commence a peine le java et j'aurai voulu savoir la difference entre une classe abstraite et une interface Java !Merci d'av
JAVA/C++ ? [ par joduak ]
Bonsoir! Je suis débutant en java et en c++ et je voudrais savoir quels sont les avantages de tel ou tel langage dans le développement d'une applicat
INTERFACE GRAPHIQUE [ par GHAZJAMEL ]
JE BESOIN D'UNE CLASSE QUI PERMET LA CONNEXION INTERNET,et une autre classe qui permet l'installation d'un logiciel sous linux EN JBUILDER10 merci pou
Livres en rapport
|
Derniers Blogs
L'INTERFACE NATURELLE DE WINDOWS PHONE 7 SERIESL'INTERFACE NATURELLE DE WINDOWS PHONE 7 SERIES par odewit
La tendance est aux interfaces naturelles (NUI), et le keynote de Bill Buxton au MIX l'a bien souligné.
La charte graphique et ergonomique de Windows Phone 7 a donc été entièrement repensée en vue d'obtenir un maximum d'efficacité sur ce point. En re...
Cliquez pour lire la suite de l'article par odewit COMMENT MAPPER UNE VUE SQL SUR UNE COLLECTION DE COMPLEX TYPE?COMMENT MAPPER UNE VUE SQL SUR UNE COLLECTION DE COMPLEX TYPE? par Matthieu MEZIL
Avec EF, les vues doivent être mappées sur des entity types. Le problème c'est que les entity types doivent avoir une clé. Avec EF, nous avons les complex type qui n'ont pas de clé mais les vues ne peuvent pas être mappées dessus. Avec EF4, il est possibl...
Cliquez pour lire la suite de l'article par Matthieu MEZIL [WF4] UN BINDING ACTIVITY/ACTIVITYDESIGNER QUI PASSE MAL?[WF4] UN BINDING ACTIVITY/ACTIVITYDESIGNER QUI PASSE MAL? par JeremyJeanson
Certain d'entre vous on peut être vécu cette situation embarrassante après quelques temps passer avec WF4 : Au début avec mon " ActivityDesigner" , tout allait bien. Et puis un jour j'ai au des problèmes de " Binding" . Alors nous sommes allé sur le site ...
Cliquez pour lire la suite de l'article par JeremyJeanson
Logiciels
Academy System (10.9.4.0)ACADEMY SYSTEM (10.9.4.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods
|