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 :

Problème d'affichage lors d'un extends d'une JFrame


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de pony99
    Femme Profil pro
    Inscrit en
    Mars 2004
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Mars 2004
    Messages : 161
    Par défaut Problème d'affichage lors d'un extends d'une JFrame
    Bonjour,

    je commande a me dire que Java ce n'est pas fais pour moi, car a chaque fois que j'avance je bute sur un problème qui me prends 2 ou 3 heures ou plus, et puis a chaque fois je viens sur ce forum pour trouver une solution.
    Vous aller me dire que c'est normal pour un débutant qui a découvert Java il y a deux mois, mah bon j'essai de m'accroché

    Le problème.

    Je une classe Fenetre extends Jfram, et cette fenêtre contient des onglets.
    tous marche bien quand tous le contenu est dans ma classe Fenetre, mais avec la multiplication des onglets ça risque d'être illisible.
    pour éviter cela, je me suis dis que ça serait bien que le contenu de chaque onglet soit dans une classe qui extends Fenetre.
    Le problème c'est rien s'affiche dans la fenêtre.

    voici les classe

    Classe Fenetre

    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
    package exam;
     
     
    import java.awt.BorderLayout;
    import java.awt.Color;
    import java.awt.Component;
    import java.awt.Dimension;
    import java.awt.GridLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.event.ItemEvent;
    import java.awt.event.ItemListener;
     
    import javax.swing.JComboBox;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JTabbedPane;
    import javax.swing.JTextField;
     
    public class Fenetre extends JFrame {
     
    	private JTabbedPane onglet= new JTabbedPane();
     
    	public JTabbedPane getOnglet() {
    		return onglet;
    	}
     
    	public void setOnglet(JTabbedPane onglet) {
    		this.onglet = onglet;
    	}
     
    	public Fenetre(){
     
    		this.add(onglet);
    		this.setTitle("Animation");
    		this.setSize(300, 300);
    		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		this.setLocationRelativeTo(null);
    		this.setVisible(true);            
    	}
     
     
     
    //crétion de ecouteur
    	public class EcouteurOgl1 implements ActionListener{
     
    		@Override
    		public void actionPerformed(ActionEvent e) {
     
    			System.out.println("Coucou Onglet demande nom prenom etc..");
    		}
    	}
    	/**
             * Classe interne implémentant l'interface ItemListener
             */
     
    	public class EcouteurOgl2 implements ActionListener{
     
    		@Override
    		public void actionPerformed(ActionEvent e) {
     
    			System.out.println("Coucou Onglet pour ville rue etc..");
    		}
    	}
     
     
     
    	public static void main(String[] args) {
    		new Fenetre();
    	}
     
     
    }
    Classe Personne
    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
    package exam;
     
    import java.awt.GridLayout;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JTextField;
    import exam.Fenetre.EcouteurOgl1;
     
     
     
    public class OngletPersonne extends Fenetre {
     
     
    	private JPanel container1 = new JPanel();
    	private GridLayout dispo = new GridLayout(2,2);
    	private JTextField nom, prenom;
     
     
    	public OngletPersonne() {
    		super();
    		// TODO Auto-generated constructor stub
     
    		container1.setLayout(dispo);
    		EcouteurOgl1 be = new EcouteurOgl1();
     
     
    		getOnglet().addTab("Personne", container1);
     
    		JLabel demandeNom = new JLabel("Nom :");
    		container1.add(demandeNom);
    		nom = new JTextField(10);
    		nom.addActionListener(be);
    		container1.add(nom);
     
    		// demande prenom 
    		JLabel demandePrenom = new JLabel("Prénom :");
    		container1.add(demandePrenom);
    		prenom = new JTextField(10);
    		prenom.addActionListener(be);
    		container1.add(prenom);
     
    	}
     
     
     
    }
    Classe Adresse
    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
    package exam;
     
    import java.awt.GridLayout;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JTextField;
     
    import exam.Fenetre.EcouteurOgl2;
     
    public class OngletAdresse extends Fenetre {
     
    	private JPanel container2 = new JPanel();
    	private GridLayout dispo2 = new GridLayout(3,2);
    	private JTextField rue, ville, cp;
     
     
    	public OngletAdresse() {
    		super();
     
     
    		EcouteurOgl2 be2 = new EcouteurOgl2();
    		// demande rue
    		container2.setLayout(dispo2);
    		getOnglet().addTab("Adresse", container2);
     
    		JLabel demandeRue= new JLabel("Rue :");
    		container2.add(demandeRue);
    		rue = new JTextField(10);
    		rue.addActionListener(be2);
    		container2.add(rue);
     
    		// demande ville
    		JLabel demandeVille= new JLabel("Ville :");
    		container2.add(demandeVille);
    		ville = new JTextField(10);
    		ville.addActionListener(be2);
    		container2.add(ville);
     
    		// demande cp
    		JLabel demandeCp= new JLabel("Cp :");
    		container2.add(demandeCp);
    		cp = new JTextField(10);
    		cp.addActionListener(be2);
    		container2.add(cp);
    	}
     
     
     
    }

  2. #2
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    540
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2009
    Messages : 540
    Par défaut
    Non, il ne faut pas te dire ça, deux mois, ce n'est pas beaucoup vu tout ce qu'il y a à connaitre.

    Pour ton problème, je suppose que tu utilise un JtabbedPane ? Le contenu de chaque onglet est un conteur. Je te conseille un JPanel plutôt qu'un JFrame. Ce que tu peux faire est de faire autant de classes qui héritent de JPanel pour y ajouter les composants dessus. Ensuite, tu construis les panel un à un que tu insères dans ton JTabbedPane

  3. #3
    Membre confirmé Avatar de pony99
    Femme Profil pro
    Inscrit en
    Mars 2004
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Mars 2004
    Messages : 161
    Par défaut
    Exacte, pourtant j'avais testé cette solution, mais sans être sur de moi, et dès que j'ai eu une erreur j'ai laissé tombé.

    Merci bcp cela fonctionne

  4. #4
    Membre confirmé Avatar de pony99
    Femme Profil pro
    Inscrit en
    Mars 2004
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Mars 2004
    Messages : 161
    Par défaut
    Cette fois j'ai une erreur au niveau des écouteur

    No enclosing instance of type Fenetre is accessible. Must qualify the allocation with an enclosing instance of type Fenetre (e.g. x.new A() where x is an instance of Fenetre).
    Ligne 27 classe Personne ou il y a

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    EcouteurOgl1 be = new EcouteurOgl1();
    Et ligne ligne 24 classe Adresse ou il y a

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    EcouteurOgl2 be2 = new EcouteurOgl2();
    Les classe EcouteurOgl1 et EcouteurOgl2 sont bien importé.

    J'ai tenté ces solution que j'ai pu lire ici et là, mais sans succès

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Fenetre.EcouteurOgl1 be = new Fenetre.EcouteurOgl1();
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    EcouteurOgl1 be =  Fenetre.new EcouteurOgl1();
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    EcouteurOgl1 be =  (new Fenetre) EcouteurOgl1();
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Fenetre.EcouteurOgl1 be =  (new Fenetre) EcouteurOgl1();

  5. #5
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    540
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2009
    Messages : 540
    Par défaut
    C'est quoi ces écouteurs ?

  6. #6
    Membre confirmé Avatar de pony99
    Femme Profil pro
    Inscrit en
    Mars 2004
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Mars 2004
    Messages : 161
    Par défaut
    Citation Envoyé par oneagaindoguys Voir le message
    C'est quoi ces écouteurs ?

    ce sont des actionlistner

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public class EcouteurOgl2 implements ActionListener{
     
    		@Override
    		public void actionPerformed(ActionEvent e) {
     
    			System.out.println("Coucou Onglet pour ville rue etc..");
    		}
    	}
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public class EcouteurOgl1 implements ActionListener{
     
    		@Override
    		public void actionPerformed(ActionEvent e) {
     
    			System.out.println("Coucou Onglet pour nom prenom etc ..");
    		}
    	}

Discussions similaires

  1. Problème d'affichage lors d'export PDF
    Par Cj_Dal dans le forum iReport
    Réponses: 0
    Dernier message: 05/11/2010, 16h35
  2. [Dev-Pascal] [GNU Pascal] Problème d'affichage lors de l'exécution d'un programme
    Par Mourad III dans le forum Autres IDE
    Réponses: 2
    Dernier message: 03/11/2010, 02h19
  3. [DisplayTag] Problème d'affichage lors de l'export
    Par ABDOU1919 dans le forum Taglibs
    Réponses: 0
    Dernier message: 30/04/2010, 19h53
  4. Problème d'affichage lors d'une requête SNMP
    Par Guy025 dans le forum Réseau
    Réponses: 6
    Dernier message: 21/08/2008, 11h34
  5. Problème d'affichage lors du redimensionnement
    Par sidi.elmoctar dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 12/04/2006, 08h44

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