A partir d'une autre class [Résolu]

didoux95 845 Messages postés mardi 25 avril 2006Date d'inscription 1 août 2017 Dernière intervention - 22 févr. 2007 à 19:01 - Dernière réponse : didoux95 845 Messages postés mardi 25 avril 2006Date d'inscription 1 août 2017 Dernière intervention
- 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.
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 22 févr. 2007 à 20:21
3
Merci
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 !

Merci cs_DARKSIDIOUS 3

codes-sources a aidé 81 internautes ce mois-ci

Commenter la réponse de cs_DARKSIDIOUS
Meilleure réponse
Twinuts 5261 Messages postés dimanche 4 mai 2003Date d'inscription 20 avril 2018 Dernière intervention - 23 févr. 2007 à 10:54
3
Merci
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

Merci Twinuts 3

codes-sources a aidé 81 internautes ce mois-ci

Commenter la réponse de Twinuts
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 22 févr. 2007 à 19:17
0
Merci
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;
}
Commenter la réponse de cs_DARKSIDIOUS
didoux95 845 Messages postés mardi 25 avril 2006Date d'inscription 1 août 2017 Dernière intervention - 22 févr. 2007 à 19:26
0
Merci
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.
Commenter la réponse de didoux95
Twinuts 5261 Messages postés dimanche 4 mai 2003Date d'inscription 20 avril 2018 Dernière intervention - 22 févr. 2007 à 20:35
0
Merci
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
Commenter la réponse de Twinuts
didoux95 845 Messages postés mardi 25 avril 2006Date d'inscription 1 août 2017 Dernière intervention - 23 févr. 2007 à 10:06
0
Merci
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.
Commenter la réponse de didoux95
didoux95 845 Messages postés mardi 25 avril 2006Date d'inscription 1 août 2017 Dernière intervention - 23 févr. 2007 à 11:04
0
Merci
merci.
Commenter la réponse de didoux95

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.