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
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
|