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

Langage Java Discussion :

[Language] Instanciation et utilisation de classes en Java


Sujet :

Langage Java

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2003
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 44
    Points : 38
    Points
    38
    Par défaut [Language] Instanciation et utilisation de classes en Java
    Bonjour,
    j'espere tout d'abord avoir respecté la charte d'utilisation de ce forum .
    en ce qui concerne mon pb, je vais essayer d'etre explicite !

    mon application est constituée d'une classe
    d'une deuxieme classe
    Ihm02 extends JPanel
    et dans laquelle se trouve un JtextArea

    d'une troisieme classe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Ihm04 extends JScrollPane
    qui comporte un Jtree

    la classe Ihm01 instancie les autres classes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    this.add(new Ihm02(), BorderLayout.WEST);
    this.add(new Ihm04(), BorderLayout.CENTER);
    Mais je ne sais pas acceder a ll'objet ihm02 instancié par la classe Ihm01 a partir de la classe Ihm04
    car mon application se doit d' ecrire dans l'objet ihm02 a partir du JTree

    Y a t'il deja une erreur de raisonnement ou de conception ?
    je ne sais pas si je suis assez clair ?
    n'hesitez pas a me poser des questions pour eclaircissement !

    voici le msg d'erreur que je recois
    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
    Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    	at ihms.Ihm04$1.valueChanged(Ihm04.java:139)
    	at javax.swing.JTree.fireValueChanged(JTree.java:2399)
    	at javax.swing.JTree$TreeSelectionRedirector.valueChanged(JTree.java:2770)
    	at javax.swing.tree.DefaultTreeSelectionModel.fireValueChanged(DefaultTreeSelectionModel.java:629)
    	at javax.swing.tree.DefaultTreeSelectionModel.notifyPathChange(DefaultTreeSelectionModel.java:1078)
    	at javax.swing.tree.DefaultTreeSelectionModel.setSelectionPaths(DefaultTreeSelectionModel.java:287)
    	at javax.swing.tree.DefaultTreeSelectionModel.setSelectionPath(DefaultTreeSelectionModel.java:170)
    	at javax.swing.JTree.setSelectionPath(JTree.java:1174)
    	at javax.swing.plaf.basic.BasicTreeUI.selectPathForEvent(BasicTreeUI.java:2246)
    	at javax.swing.plaf.basic.BasicTreeUI$Handler.handleSelection(BasicTreeUI.java:3432)
    	at javax.swing.plaf.basic.BasicTreeUI$Handler.mousePressed(BasicTreeUI.java:3393)
    	at java.awt.AWTEventMulticaster.mousePressed(AWTEventMulticaster.java:222)
    	at java.awt.Component.processMouseEvent(Component.java:5485)
    	at javax.swing.JComponent.processMouseEvent(JComponent.java:3093)
    	at java.awt.Component.processEvent(Component.java:5253)
    	at java.awt.Container.processEvent(Container.java:1966)
    	at java.awt.Component.dispatchEventImpl(Component.java:3955)
    	at java.awt.Container.dispatchEventImpl(Container.java:2024)
    	at java.awt.Component.dispatchEvent(Component.java:3803)
    	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
    	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3889)
    	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
    	at java.awt.Container.dispatchEventImpl(Container.java:2010)
    	at java.awt.Window.dispatchEventImpl(Window.java:1766)
    	at java.awt.Component.dispatchEvent(Component.java:3803)
    	at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
    	at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:234)
    	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
    	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
    	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
    	at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)

    d'avance merci
    Cordialement
    Olivier

  2. #2
    Membre habitué
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Juin 2005
    Messages
    175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Juin 2005
    Messages : 175
    Points : 145
    Points
    145
    Par défaut
    ben au lieu de faire des new dans tes "add", fait des instances et des accesseurs, puis fait un add de l'instance, ensuite tu accede a l'ihm2 a partir de l'ihm 4 par un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    getIhm1().getIhm2();
    bien sur tu doit avoir passé l'ihm1 en parametre de tes constructeurs d'ihm2 et ihm4.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2003
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 44
    Points : 38
    Points
    38
    Par défaut
    Merci pour cette reponse rapide

    je vais essayer

    cordialement
    Olivier

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2003
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 44
    Points : 38
    Points
    38
    Par défaut
    Pierre Cellard écrivait :
    "bien sur tu doit avoir passé l'ihm1 en parametre de tes constructeurs d'ihm2 et ihm4."

    Oui mais comment ?
    auriez vous le temps de rediger un tres rapide exemple de code


    et aussi que sont "getIhm01()"
    si j'instancie les objets de cette maniere :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Ihm01 ihm01 = new Ihm01();
    Merci
    Olivier

  5. #5
    Membre habitué
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Juin 2005
    Messages
    175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Juin 2005
    Messages : 175
    Points : 145
    Points
    145
    Par défaut
    je te conseille de lire les cours de base de ce site.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    390
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 390
    Points : 432
    Points
    432
    Par défaut
    Je t fais un exemple très rapide et un peu buggué. Mais le principe est la.
    Mais bon je suis d'accord avec pierre, tu en apprendra plus avec des cours et des tuto.

    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
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
     
    public class Test1 extends JFrame{
     
    	MyScrollPane msp;
    	MyButton mb;
     
    	public Test1() {
    		super();
    		msp = new MyScrollPane();
    		mb = new MyButton(msp.getJPanel(),"Agrandir Panel");
    		this.getContentPane().setLayout(new BorderLayout());
    		this.getContentPane().add(msp.getJPanel(),BorderLayout.CENTER);
    		this.getContentPane().add(mb,BorderLayout.SOUTH);
    		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    	}
     
    	public static void main (String arg[]) {
    		Test1 t = new Test1();
    		t.setVisible(true);
    	}
     
    }
     
    class MyButton extends JButton implements MouseListener {
     
    	JPanel jp;
     
    	public MyButton(JPanel _jp, String txt) {
    		super(txt);
    		jp = _jp;
    		addMouseListener(this);
    	}
     
     
    	public void mouseEntered(MouseEvent e) {
    	}
    	public void mouseExited(MouseEvent e) {
    	}
    	public void mouseClicked(MouseEvent e) {
    		Dimension d = jp.getPreferredSize();
    		d.setSize(d.width+10,d.height+10);
    		jp.setPreferredSize(d);
    		jp.repaint();
    	}
    	public void mousePressed(MouseEvent e) {
    	}
    	public void mouseReleased(MouseEvent e) {
    	}
    }
     
    class MyScrollPane{
    	private JScrollPane jsp;
    	private JPanel jp = new JPanel();
     
    	public MyScrollPane() {
    		jsp = new JScrollPane(jp);
    		jsp.setSize(100,100);
    		jp.setPreferredSize(new Dimension(100,100));
     
    	}
     
    	public JPanel getJPanel() {
    		return jp;
    	}
    }
    Mess with the best, die like the rest!

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2003
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 44
    Points : 38
    Points
    38
    Par défaut
    Aie ! pas sur la tete !

    Merci quand meme
    je vais de ce pas, decortiquer le code, et tenter de faire ma tambouille avec.

    Cordialement
    Olivier

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2003
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 44
    Points : 38
    Points
    38
    Par défaut
    un grand merci à : barbu0055

    Ok j'ai bien compris ton exemple et mon application fonctionne
    je viens de gagner un temps precieux.

    cordialement
    Olivier

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [C#] Utiliser une classe de JAVA dans C#
    Par Mickael23 dans le forum C#
    Réponses: 4
    Dernier message: 22/05/2009, 19h44
  2. Utilisation de class java sous delphi?
    Par loloryan dans le forum Delphi
    Réponses: 1
    Dernier message: 09/11/2006, 20h20
  3. utiliser classe onglet java
    Par franfr57 dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 11/10/2006, 20h41
  4. VB.NET : utilisation de classe sans instanciation
    Par mexong dans le forum Windows Forms
    Réponses: 2
    Dernier message: 10/10/2006, 11h00

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