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

AWT/Swing Java Discussion :

Affichage d'un JPane dans un JFrame


Sujet :

AWT/Swing Java

  1. #101
    Membre actif
    Homme Profil pro
    Ingénieur de construction de réseaux
    Inscrit en
    Août 2012
    Messages
    406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur de construction de réseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2012
    Messages : 406
    Points : 235
    Points
    235
    Par défaut
    je n'y suit pas encore mon encadreur m'a demandé d"éditer d'abord les composants. Ceci dit il m'a aussi demandé d'utiliser postrgreSQL lorsque je tape la commande suivante en ligne de commande:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    insert into 'public'.'Etudiant' (matricule,nom,prenom,sexe) values ('sefnvze','sdvre','zercze','vercd')
    Sa marche bien mais lorsque je me connecte avec eclipse j'ai un soucis voila mon code:
    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
    27
    28
    29
    30
    31
    32
     
    package monpackage;
    import java.beans.Statement;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.*;
    import java.util.Enumeration;
    import java.util.Properties;
     
    public class ConectDB {
    	public static void main(String[] args) {
     
    		try {
    			Class.forName("org.postgresql.Driver");
    			System.out.println("DRIVER OK ! ");
     
    			String url = "jdbc:postgresql://localhost:5432/Universite";
    			String user = "postgres";
    			String passwd = "keryjames";
     
    			Connection conn = DriverManager.getConnection(url, user, passwd);
    			System.out.println("Connection effective !");
     
    			java.sql.Statement state=conn.createStatement();
    			String req= "insert into 'public'.'Etudiant' (matricule,nom,prenom,sexe) values ('sefnvze','sdvre','zercze','vercd')";
    			state.executeQuery(req);
    		} catch (Exception e) {
    			e.printStackTrace();
    			System.out.print(e);
    		}		
    	}
    }
    et voila l'erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    DRIVER OK ! 
    Connection effective !
    org.postgresql.util.PSQLException: ERREUR: erreur de syntaxe sur ou près de « 'public' »
      Position*: 13
    	at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2101)
    	at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1834)
    	at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:255)
    	at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:510)
    	at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:372)
    	at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:252)
    	at monpackage.ConectDB.main(ConectDB.java:26)
    org.postgresql.util.PSQLException: ERREUR: erreur de syntaxe sur ou près de « 'public' »
      Position*: 13
    je ne sais pas quoi faire
    La force d'un programmeur ne réside pas dans le fait qu'il écrive des codes puissants mais dans sa capacité à les maintenir!!!

  2. #102
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 710
    Points : 4 794
    Points
    4 794
    Par défaut
    Bon, je connais pas PostGre mais ça doit être tout con.
    La trace d'erreur indique Position*: 13 ce qui correspond à la 1ère apostrophe
    alors essaye sans apostrophe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String req= "insert into public.Etudiant (matricule,nom,prenom,sexe) values ('sefnvze','sdvre','zercze','vercd')";
    sinon il a vraiment du temps à perdre pour te faire changer de SGBD
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  3. #103
    Membre actif
    Homme Profil pro
    Ingénieur de construction de réseaux
    Inscrit en
    Août 2012
    Messages
    406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur de construction de réseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2012
    Messages : 406
    Points : 235
    Points
    235
    Par défaut
    je l'ai fait sa me dit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    DRIVER OK ! 
    Connection effective !
    org.postgresql.util.PSQLException: ERREUR: la relation « public.etudiant » n'existe pas
      Position*: 13
    	at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2101)
    	at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1834)
    	at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:255)
    	at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:510)
    	at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:372)
    	at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:252)
    	at monpackage.ConectDB.main(ConectDB.java:25)
    org.postgresql.util.PSQLException: ERREUR: la relation « public.etudiant » n'existe pas
      Position*: 13
    La force d'un programmeur ne réside pas dans le fait qu'il écrive des codes puissants mais dans sa capacité à les maintenir!!!

  4. #104
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 710
    Points : 4 794
    Points
    4 794
    Par défaut
    On va tourner en rond.
    Poste une nouvelle discussion sur le forum JDBC (et peut-être aussi PostGreSQL)
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  5. #105
    Membre actif
    Homme Profil pro
    Ingénieur de construction de réseaux
    Inscrit en
    Août 2012
    Messages
    406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur de construction de réseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2012
    Messages : 406
    Points : 235
    Points
    235
    Par défaut
    pour la liaison entre les composants mon encadreur m'a recommandé d'utiliser le magnétisme et je n'ai aucune idée. tu a une idée sur le sujet ou une meilleur idée?
    La force d'un programmeur ne réside pas dans le fait qu'il écrive des codes puissants mais dans sa capacité à les maintenir!!!

  6. #106
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 710
    Points : 4 794
    Points
    4 794
    Par défaut
    Ton encadreur a peut-être un magnétisme personnel mais c'est un concept inconnu dans Java

    Sérieusement, cela veut dire qu'il faut que le connecteur s'attache automatiquement au ComposantDeplacable dès qu'on le fait passer à proximité.

    Avant d'en arriver là :
    - as-tu pu résoudre ton problème de base de données ?
    - qu'est-ce que tu as déjà fait pour programmer le connecteur ?
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  7. #107
    Membre actif
    Homme Profil pro
    Ingénieur de construction de réseaux
    Inscrit en
    Août 2012
    Messages
    406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur de construction de réseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2012
    Messages : 406
    Points : 235
    Points
    235
    Par défaut
    je n'ai pas encore résolu mon problème de BD mais j’étudie une solution pour la seconde question pas grand chose mais je sais ceci le connecteur aura les propriétés suivantes 2 composantdeplacable (source et destination), une longueur, un point de départ et un point d'arrivé maintenant il faut pouvoir tracer un trait entre ces 2 composants
    La force d'un programmeur ne réside pas dans le fait qu'il écrive des codes puissants mais dans sa capacité à les maintenir!!!

  8. #108
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 710
    Points : 4 794
    Points
    4 794
    Par défaut
    Le connecteur c'est ce qui va relier les ComposantDeplacables
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  9. #109
    Membre actif
    Homme Profil pro
    Ingénieur de construction de réseaux
    Inscrit en
    Août 2012
    Messages
    406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur de construction de réseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2012
    Messages : 406
    Points : 235
    Points
    235
    Par défaut
    oui c'est bien sa. Pour le problème d’insertion c'est bon j'ai résolu le problème
    La force d'un programmeur ne réside pas dans le fait qu'il écrive des codes puissants mais dans sa capacité à les maintenir!!!

  10. #110
    Membre actif
    Homme Profil pro
    Ingénieur de construction de réseaux
    Inscrit en
    Août 2012
    Messages
    406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur de construction de réseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2012
    Messages : 406
    Points : 235
    Points
    235
    Par défaut
    bon voilà mon connexteur:
    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
    27
    28
    29
    30
    31
    package monpackage;
     
    import java.awt.Graphics;
    import java.awt.Point;
     
    import javax.swing.JPanel;
     
    public class Connecteur extends JPanel{
    public ComposantDeplacable c1;
    public ComposantDeplacable c2;
    public Point p1;
    public Point p2;
    	public Connecteur(){
     
    	}
    	public void InitierConnexion(ComposantDeplacable c){
    		c1=c;
    		p1.x=c1.getX()+c1.getWidth();
    		p1.y=(c1.x+c1.getHeight())/2;
    	}
    	public void TerminerConnexion(ComposantDeplacable c){
    		c2=c;
    		p2.x=c2.x;
    		p2.y=(c2.y+c2.getHeight())/2;
    		repaint();
    	}
    	public void paintComponent(Graphics g){
    		super.paintComponent(g);
    		g.drawLine(p1.x, p1.y, p2.y, p2.y);
    	}
    }
    La force d'un programmeur ne réside pas dans le fait qu'il écrive des codes puissants mais dans sa capacité à les maintenir!!!

  11. #111
    Membre actif
    Homme Profil pro
    Ingénieur de construction de réseaux
    Inscrit en
    Août 2012
    Messages
    406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur de construction de réseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2012
    Messages : 406
    Points : 235
    Points
    235
    Par défaut
    bon voilà mon connexteur:
    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
    27
    28
    29
    30
    31
    package monpackage;
     
    import java.awt.Graphics;
    import java.awt.Point;
     
    import javax.swing.JPanel;
     
    public class Connecteur extends JPanel{
    public ComposantDeplacable c1;
    public ComposantDeplacable c2;
    public Point p1;
    public Point p2;
    	public Connecteur(){
     
    	}
    	public void InitierConnexion(ComposantDeplacable c){
    		c1=c;
    		p1.x=c1.getX()+c1.getWidth();
    		p1.y=(c1.x+c1.getHeight())/2;
    	}
    	public void TerminerConnexion(ComposantDeplacable c){
    		c2=c;
    		p2.x=c2.x;
    		p2.y=(c2.y+c2.getHeight())/2;
    		repaint();
    	}
    	public void paintComponent(Graphics g){
    		super.paintComponent(g);
    		g.drawLine(p1.x, p1.y, p2.y, p2.y);
    	}
    }
    La force d'un programmeur ne réside pas dans le fait qu'il écrive des codes puissants mais dans sa capacité à les maintenir!!!

  12. #112
    Membre actif
    Homme Profil pro
    Ingénieur de construction de réseaux
    Inscrit en
    Août 2012
    Messages
    406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur de construction de réseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2012
    Messages : 406
    Points : 235
    Points
    235
    Par défaut
    voilà aussi composantDeplacable que j'ai modifié:
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    package monpackage;
     
    import java.awt.Cursor;
    import java.awt.Dimension;
    import java.awt.Graphics;
    import java.awt.MenuItem;
    import java.awt.Point;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.event.MouseEvent;
    import java.awt.event.MouseListener;
    import java.awt.event.MouseMotionListener;
     
    import javax.swing.JMenuItem;
    import javax.swing.JOptionPane;
    import javax.swing.JPanel;
    import javax.swing.JPopupMenu;
     
    public class ComposantDeplacable extends JPanel implements MouseListener,MouseMotionListener,ActionListener{
    	public Composant composant;
    	public int x,y;
    	public DropZone d;
    	private JPopupMenu menu;
    	private JMenuItem editer;
    	private JMenuItem supprimer;
    	private JMenuItem connexion;
    	private JMenuItem connexion1;
    	private Connecteur con;
    	public BareEtat be;
    	private java.awt.event.MouseEvent evt_prec = null;
    	public ComposantDeplacable(Composant c,DropZone dz,BareEtat b){
    		composant=c;
    		d=dz;
    		setPreferredSize(new Dimension(composant.longueur,composant.largeur));
    		addMouseListener(this);
    		addMouseMotionListener(this);
    		menu=new JPopupMenu();
    		editer=new JMenuItem("Editer");
    		supprimer=new JMenuItem("Supprimer");
    		connexion=new JMenuItem("Initier Connexion");
    		connexion1=new JMenuItem("Finaliser Connexion");
    		menu.add(editer);
    		menu.add(supprimer);
    		menu.add(connexion);
    		menu.add(connexion1);
    		editer.addActionListener(this);
    		supprimer.addActionListener(this);
    		connexion.addActionListener(this);
    		be=b;
    	}
    	public void paintComponent(Graphics g){
    		super.paintComponent(g);					
    		g.drawImage(composant.image, composant.x, composant.y,composant.longueur,composant.largeur,null);
    }
    	@Override
    	public void mouseDragged(MouseEvent e) {
            if (evt_prec == null) {
                evt_prec = e;
                return;
            }
            int dX = e.getX() - evt_prec.getX();
            int dY = e.getY() - evt_prec.getY();
     
            Point loc = new Point(getLocation().x + dX, getLocation().y + dY);
            setLocation(loc);
            System.out.println(loc.x+" "+loc.y);
            d.ModifPosition(this, loc);	
    	}
    	@Override
    	public void mouseMoved(MouseEvent e) {
     
    	}
    	@Override
    	public void mouseClicked(MouseEvent arg0) {
     
    	}
    	@Override
    	public void mouseEntered(MouseEvent e) {
    		be.BareEtatTexte(this.composant.nom);
    		setCursor(new Cursor(Cursor.HAND_CURSOR));
    	}
    	@Override
    	public void mouseExited(MouseEvent arg0) {
    		be.BareEtatTexte("");
     
    	}
    	@Override
    	public void mousePressed(MouseEvent arg0) {
    		// TODO Auto-generated method stub
     
    	}
    	@Override
    	public void mouseReleased(MouseEvent e) {
    		if(e.isPopupTrigger()){
    			menu.show(this, e.getX(), e.getY());
    		}
     
    	}
    	@Override
    	public void actionPerformed(ActionEvent e) {
    		if(e.getActionCommand().equals("Editer")){
    			JOptionPane.showMessageDialog(null, "Vous avez cliqué sur Editer");
    		}
    		if(e.getActionCommand().equals("Supprimer")){
    			this.setVisible(false);
    			d.liste.remove(this);
    		}
    		if(e.getActionCommand().equals("Initier connexion")){
    			con.InitierConnexion(this);
    		}
    		if(e.getActionCommand().equals("Finaliser connexion")){
    			con.TerminerConnexion(this);
    		}
    	}
    }
    La force d'un programmeur ne réside pas dans le fait qu'il écrive des codes puissants mais dans sa capacité à les maintenir!!!

  13. #113
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 710
    Points : 4 794
    Points
    4 794
    Par défaut
    Je ne peux pas tester, il manque la classe BareEtat
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  14. #114
    Membre actif
    Homme Profil pro
    Ingénieur de construction de réseaux
    Inscrit en
    Août 2012
    Messages
    406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur de construction de réseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2012
    Messages : 406
    Points : 235
    Points
    235
    Par défaut
    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
    package monpackage;
    import javax.swing.JPanel;
    import javax.swing.JLabel;
    import javax.swing.SwingConstants;
     
    public class BareEtat extends JPanel{
    	private static final long serialVersionUID = 1L;
    	JLabel label;
    public BareEtat()
    {
    	label=new JLabel();
    	add(label, SwingConstants.CENTER);
    	this.setVisible(true);
    }
    public void BareEtatTexte(String texte)
    {
    	label.setText(texte);
    	this.setVisible(true);
    }
    }
    La force d'un programmeur ne réside pas dans le fait qu'il écrive des codes puissants mais dans sa capacité à les maintenir!!!

  15. #115
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 710
    Points : 4 794
    Points
    4 794
    Par défaut
    la classe DropTransfertHandler a du être modifiée aussi.
    Tu peux la re-poster ?
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  16. #116
    Membre actif
    Homme Profil pro
    Ingénieur de construction de réseaux
    Inscrit en
    Août 2012
    Messages
    406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur de construction de réseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2012
    Messages : 406
    Points : 235
    Points
    235
    Par défaut
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    package monpackage;
    import java.awt.Point;
    import java.awt.datatransfer.UnsupportedFlavorException;
    import java.io.IOException;
     
    import javax.swing.TransferHandler;
     
    public class DropTransfertHandler extends TransferHandler{
    	@Override
    	public boolean importData(TransferHandler.TransferSupport support){
    		  if(!canImport(support))
    			  return false;
    		  Composant comp = null;
    		  		try {
    		  comp = (Composant) support.getTransferable().getTransferData(ComposantFlavor.getComposantFlavor());
    		} catch (UnsupportedFlavorException e) {
    			System.out.print(e);
    			e.printStackTrace();
    		} catch (IOException e) {
    			System.out.print(e);
    			e.printStackTrace();
    		}
            // création d'un nouveau composant à partir du clone
            //Composant copie = comp.composant.getClone();
    		  		Composant copie = comp.getClone();
     
            //  recuperation de la drop-zone
            DropZone destination = (DropZone) support.getComponent();
     
            //  coordonnées du largage
            Point p = support.getDropLocation().getDropPoint();
     
            ComposantDeplacable cd=new ComposantDeplacable(copie,destination,destination.b);
            cd.x=p.x;
            cd.y=p.y;
            destination.insert(cd);
    		return true;
    	}
    	@Override
    	public boolean canImport(TransferHandler.TransferSupport info) {
    		  if (!info.isDataFlavorSupported(ComposantFlavor.getComposantFlavor())) {
    			   return false;
    		   }
    		   return true;
    		}
    }
    package monpackage;
    import java.awt.Color;
    import java.awt.Dimension;
    import java.awt.Graphics;
    import java.awt.Point;
    import java.awt.datatransfer.DataFlavor;
    import java.util.ArrayList;
    import java.util.Iterator;
     
    import javax.swing.JPanel;
    import javax.swing.TransferHandler;
     
    public class DropZone extends JPanel{
    	ArrayList<ComposantDeplacable> liste;
    	public BareEtat b;
    	public boolean etat;
    	public DropZone()	{
    		setTransferHandler(new DropTransfertHandler());
    		this.setBackground(Color.white);
    		setLayout(null);
    		liste=new ArrayList<>();
    	}
    	public void insert(ComposantDeplacable c){
    		liste.add(c);
    		add(c);
    		c.setBounds(c.x, c.y,c.composant.longueur,c.composant.largeur);
    	}
    	public void ModifPosition(ComposantDeplacable c,Point p){
    		c.setBounds(p.x, p.y,c.composant.longueur,c.composant.largeur);
    	}
    }
    La force d'un programmeur ne réside pas dans le fait qu'il écrive des codes puissants mais dans sa capacité à les maintenir!!!

  17. #117
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 710
    Points : 4 794
    Points
    4 794
    Par défaut
    ça marche pas, la barre état n'est pas initialisé dans DropZone
    il faut aussi la placer quelque part non ?
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  18. #118
    Membre actif
    Homme Profil pro
    Ingénieur de construction de réseaux
    Inscrit en
    Août 2012
    Messages
    406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur de construction de réseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2012
    Messages : 406
    Points : 235
    Points
    235
    Par défaut
    en fait j'utilise la classe acceuil pour initialiser:
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    package monpackage;
     
    import java.awt.BorderLayout;
    import java.awt.Image;
    import java.awt.Point;
    import java.io.IOException;
     
    import javax.imageio.ImageIO;
    import javax.swing.JPanel;
    import javax.swing.JFrame;
    import java.awt.Dimension;
     
    public class Acceuil extends JFrame {
     
    	private static final long serialVersionUID = 1L;
    	private JPanel jContentPane = null;
     
    	/**
             * This is the default constructor
             * @throws IOException 
             */
    	public Acceuil() throws IOException {
    		super();
    		initialize();
    	}
    public static void main(String args[]){
    	try {
    		new Acceuil();
    	} catch (IOException e) {
    		// TODO Auto-generated catch block
    		e.printStackTrace();
    	}
    }
    	/**
             * This method initializes this
             * 
             * @return void
             * @throws IOException 
             */
    	private void initialize() throws IOException {
    		this.setSize(1000, 550);
    		this.setContentPane(getJContentPane());
    		this.setTitle("JFrame");
    	}
     
    	/**
             * This method initializes jContentPane
             * 
             * @return javax.swing.JPanel
             * @throws IOException 
             */
    	private JPanel getJContentPane() throws IOException {
    		if (jContentPane == null) {
    			jContentPane = new JPanel();
    			jContentPane.setLayout(new BorderLayout());
    			Image image = ImageIO.read(Acceuil.class.getResource("/composants/lignes.png"));
    			Image image2 = ImageIO.read(Acceuil.class.getResource("/composants/genrateur.png"));
    			Composant c=new Composant("semi-conducteur", image);
    			Composant ce=new Composant("generateur", image2);
    			PanneauComposant pc = new PanneauComposant();
    			ComposantTransferable cp=new ComposantTransferable(c);
    			ComposantTransferable cp2=new ComposantTransferable(ce);			
    			pc.ajouterComposant(cp);
    			pc.ajouterComposant(cp2);
    			DropZone dz=new DropZone();
    			dz.setPreferredSize(new java.awt.Dimension(500,500));
    			pc.setPreferredSize(new java.awt.Dimension(300,500));
    			pc.add(c, null);
    			dz.b=new BareEtat();
    			dz.b.setPreferredSize(new java.awt.Dimension(500,30));
    			jContentPane.add(pc,BorderLayout.WEST);
    			jContentPane.add(dz,BorderLayout.CENTER);
    			jContentPane.add(dz.b,BorderLayout.SOUTH);
    		}
    		return jContentPane;
    	}
     
    }  //  @jve:decl-index=0:visual-constraint="14,15"
    La force d'un programmeur ne réside pas dans le fait qu'il écrive des codes puissants mais dans sa capacité à les maintenir!!!

  19. #119
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 710
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 710
    Points : 4 794
    Points
    4 794
    Par défaut
    Dans Accueil, il faut ajouter un setVisible(true)
    sinon cela ne marche pas !

    et quelle est la manipulation pour relier les composants ?
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  20. #120
    Membre actif
    Homme Profil pro
    Ingénieur de construction de réseaux
    Inscrit en
    Août 2012
    Messages
    406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur de construction de réseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2012
    Messages : 406
    Points : 235
    Points
    235
    Par défaut
    en principe on doit faire un clic droit et cliquer sur initier connexion et un clic droit sur un autre composant et cliquer sur finaliser connexion mais sa ne marche pas pourtant je crois que l'algorithme est bon
    La force d'un programmeur ne réside pas dans le fait qu'il écrive des codes puissants mais dans sa capacité à les maintenir!!!

+ Répondre à la discussion
Cette discussion est résolue.
Page 6 sur 9 PremièrePremière ... 23456789 DernièreDernière

Discussions similaires

  1. Problème d'affichage d'un JPanel dans un JFrame.
    Par Patrick95500 dans le forum Agents de placement/Fenêtres
    Réponses: 8
    Dernier message: 18/09/2014, 13h51
  2. Affichage d'un JLabel dans une JFrame
    Par Christophe39 dans le forum Agents de placement/Fenêtres
    Réponses: 1
    Dernier message: 17/02/2014, 13h41
  3. Affichage de différents JPanel dans une JFrame
    Par PROJECT-AURORA dans le forum Débuter
    Réponses: 13
    Dernier message: 16/11/2013, 11h22
  4. Ajout et affichage d'un JPanel dans une JFrame lorsqu'un évènement se produit
    Par bilou_12 dans le forum Agents de placement/Fenêtres
    Réponses: 0
    Dernier message: 27/03/2012, 20h27
  5. [pdf][jframe] affichage d'un PDF dans un JFrame
    Par r.matha dans le forum Documents
    Réponses: 3
    Dernier message: 06/10/2006, 15h00

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