IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 Java Discussion :

[Résolu]Récupérer des données et "pauser" le main


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2013
    Messages : 11
    Par défaut [Résolu]Récupérer des données et "pauser" le main
    Bonjour, j'ai actuellement un projet à faire qui consiste en TRES gros à faire un paint à la fin...
    Dans ma première version j'ai un main avec un menu qui demande quelle forme à réaliser, sélectionner une forme, ... Puis en fonction de chaque forme le main demande les coordonnées de chaque point nécessaire puis les transmets en paramètres au constructeurs de la figure (Donc une classe main, une figure, et des classes différentes qui hérite de figure -Rectangle, polygone, ...-, et bien sur une classe pour le JPanel)

    Mon problème aujourd'hui est de passer à une interaction souris pour placer les points (pas de boutons encore ).
    Donc j'arrive bien à récupérer les coordonnées, ... Enfin mes Listener fonctionnent bien.
    Mon problème est d'afficher :
    "Positionnement du premier point...."
    Attendre le clic
    "Positionnement du 2ème point...."
    etc...
    Pour un nombre de point défini...

    C'est ici que j'attend votre aide !
    Je reste à votre disposition pour des informations comprémentaire, un UML ou autre

    Merci d'avance à tous !

  2. #2
    Modérateur
    Avatar de wax78
    Homme Profil pro
    R&D - Palefrenier programmeur
    Inscrit en
    Août 2006
    Messages
    4 098
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : R&D - Palefrenier programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 098
    Par défaut
    Tu as un code minimaliste à montrer déjà ?
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2013
    Messages : 11
    Par défaut
    Les déclarations :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    		JFrame fenetre = new JFrame();
    		fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		Dessin d = new Dessin();
    		d.setPreferredSize(new Dimension(640, 480));
    		fenetre.setContentPane(d);
    		fenetre.pack();
    		fenetre.setVisible(true);
    Dessin c'est mon JPanel
    A la version 2 les déclarations de JFrame ne se font plus dans le main mais dans une classe pour alléger un peu mon main


    Voici comment se passe la saisie d'une figure à la version 1 : (un rectangle ici)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    case 1:
    				if (!redef) // redef est une varible passée Ã* true lorsque l'on
    							// veut redéfinir une forme
    					System.out.println("------Dessiner un rectangle------");
    				System.out.println("Origine point supérieur gauche :");
    				xt = sc.nextInt();
    				System.out.println("Ordonee point supérieur gauche :");
    				yt = sc.nextInt();
    				System.out.println("Largeur :");
    				lt = sc.nextInt();
    				System.out.println("Hauteur :");
    				ht = sc.nextInt();
    				p1 = new UnPoint(xt, yt);
    				r = new Rectangle(p1, ht, lt, couleur.getCouleur());
    				if (!redef) { // Si on ne redéfinie pas, on ajoute Ã* la liste
    					d.add(r);
    				} else {
    					if (selection.isFill())
    						r.setFill();
    					d.getList().set(indice, r); // Sinon on modifie la forme
    												// dans la liste
    					selection = r; // On repasse la selection Ã* la nouvelle
    									// forme
    					redef = false; // Et on met fin Ã* la session de redefinition
    				}
    				break;

    Et j'ai fait ce bout de classe là qui me permettra (je pense) de récuperer les points cliqué :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    public class FabriquantFigure implements MouseListener {
     
    	private int[] tab_pts;
    	private int i;
     
    	public FabriquantFigure(int nb_pts) {
    		i=0;
    		tab_pts = new int[100];
    	}
     
    	public int[] returnTab() {
    		return tab_pts;
    	}
     
    	@Override
    	public void mouseClicked(MouseEvent arg0) {
    		// TODO Auto-generated method stub
    		tab_pts[i] = arg0.getX();
    		i++;
    		tab_pts[i]= arg0.getY();
    		i++;
    	}

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2013
    Messages : 11
    Par défaut
    Bon après quelques heures de recherche, je me suis résigné à un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    while(object.isEnd()){
    Thread.sleep(100);
    }
    ça bouffe des ressources mais vu le projet et les capacités des ordinateurs aujourd'hui, tant pis

    Merci quand même...

Discussions similaires

  1. [RegEx] récupérer les donnée à l'intérieur de quote
    Par bigs3232 dans le forum Langage
    Réponses: 2
    Dernier message: 27/03/2012, 23h04
  2. cherche module ou langage pour récupérer des données audio..
    Par Ry_Yo dans le forum Langages de programmation
    Réponses: 5
    Dernier message: 12/05/2003, 17h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo