2010-06-21 6 views
3

En Java, j'ai un objet qui crée un bouton. A l'intérieur de l'onclicklistener de ce bouton, je veux référencer l'objet qui a créé le bouton.Comment référencer l'objet qui a créé un objet?

Y at-il un moyen simple que je peux faire cela?

+0

'onclicklistener'? Quelle API utilisez-vous? –

Répondre

6

Cela dépend de la façon dont vous l'avez structuré. En général, les instances n'ont pas de référence à l'instance qui les a créées sauf si vous les transmettez et les stockez quelque part. Toutefois, si vous faites:

public class YourClass { 
    public void foo() { 
     JButton b = new JButton(); 
     b.addActionListener(new ActionListener() { 
      @Override public void actionPerformed(ActionEvent e) { 
       // Need reference to YourClass here 
      } 
     }); 
    } 
} 

alors vous pouvez vous référer à la YourClass, en utilisant externe YourClass.this

1

Quelque chose comme:

class CustomButton extends Button 
    { 
     private Object parent = null; 

     public CustomButton(Object parent) { 
      super(); 
      this.parent = parent; 
     } 
    } 

devrait faire l'affaire.

Questions connexes