A partir d'une autre class

Résolu
didoux95 Messages postés 845 Date d'inscription mardi 25 avril 2006 Statut Membre Dernière intervention 1 août 2017 - 22 févr. 2007 à 19:01
didoux95 Messages postés 845 Date d'inscription mardi 25 avril 2006 Statut Membre Dernière intervention 1 août 2017 - 23 févr. 2007 à 11:04
Bonjour a tous.
j'aurais aimé savoir si il etait possible de :
   a partir d'une classe X (qui n'herite pas de JFrame) ajouter (ou intervenir sur) des composants (du genre JLabel JProgressBar JPanel ...) a une classe Y (qui herite de JFrame). La classe Y appelle la classe X.

Si oui, comment est ce que l'on peut faire (parce que je n'y arrive pas).

merci.

7 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
22 févr. 2007 à 20:21
Plutôt un truc du genre :

//Dans la class X
private JProgressBar JPB;

public JProgressBar getJBP(){
    if (JBP == null) {
       JPB = new JProgressBar(0, 100);
       //Et autre "fonction" en lien avc la JPB
       JPB.setBounds(new Rectangle(10, 10, 100, 20));
    }
   return JPB;
}

Afin d'éviter de la créer à chaque appel à la fonction !

Sinon, si ton but est juste de récupèrer une progressbar pour afficher l'avancement d'une opération, il vaux mieux faire une fonction setValue dans ta classe X qui s'occuperai d'incrémenter la progressbar : d'un point de vue d'encapsulation, renvoyer une progressbar, c'est limite !
3
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
23 févr. 2007 à 10:54
Salut,

ba tu fais une méthode pour le faire.... ex:
private JProgressBar getJBP(){
    if (JBP == null) {
       JPB = new JProgressBar(0, 100);
       //Et autre "fonction" en lien avc la JPB
       JPB.setBounds(new Rectangle(10, 10, 100, 20));
    }
   return JPB;
}
public void setJBPValue(int val){
    getJBP().setvalue(val);
}

et comme ça tu n'appel que la méthode setJBPValue

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

WORA
3
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
22 févr. 2007 à 19:17
Bien sûr, comment ferais-tu pour intervenir sur les composants de ton interface graphique sinon ?

Il te faut juste faire des accesseurs à tes contrôles de la classe Y, exemple, dans ta classe Y :

private JLabel Toto;

public JLabel getToto() {
    return Toto;
}
0
didoux95 Messages postés 845 Date d'inscription mardi 25 avril 2006 Statut Membre Dernière intervention 1 août 2017 2
22 févr. 2007 à 19:26
Bonjour.
donc si je veux creer une JProgressBar dans ma class Y a partir de ma class X je devrais faire:
//Dans la class X
private JProgressBar JPB;

public JProgressBar getJBP(){
   JPB = new JProgressBar(0, 100);
   //Et autre "fonction" en lien avc la JPB
   JPB.setBounds(new Rectangle(10, 10, 100, 20));
   return JPB;
}

merci.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
22 févr. 2007 à 20:35
Salut,

je rejoins [auteurdetail.aspx?ID=13557 DARKSIDIOUS] 
faut éviter le plus possible de retourner un objet complet sinon il y a risque de bug en chaine

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

WORA
0
didoux95 Messages postés 845 Date d'inscription mardi 25 avril 2006 Statut Membre Dernière intervention 1 août 2017 2
23 févr. 2007 à 10:06
Bonjour.
Alors comment est ce que je peux m'y prendre ?
j'avais prevus de (a partir d Y) recuperer une JProgressBar (JBP) et ensuite de lui attribuer une valeur (operation effectuer dans un thread) avec sa methode (.setValue()) depuis la class X.
Ou bien de juste incrementer ma JPB.
(Ce qui me pose probleme, c'est incrementer la JPB car a chaque fois que l'on fait "return" dans une methode, celle ci s'arrete).

merci.
0
didoux95 Messages postés 845 Date d'inscription mardi 25 avril 2006 Statut Membre Dernière intervention 1 août 2017 2
23 févr. 2007 à 11:04
merci.
0
Rejoignez-nous