begin process at 2012 02 15 07:46:16
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Java

 > 

Archives

 > 

Au secours

 > 

interface graphique java


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

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@WAre
sans 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


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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 : 2,137 sec (3)

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