Non fai prima ad estendere la classe JButton in modo da prendere nel costruttore un riferimento al suo contenitore e fartelo restituire?
codice:
public class MioBottone extends JButton {
   private Container c;
   public MioBottone(Container c, String s) {
      super(s);
      this.c = c;
      ...
   }

   public Container getContainer() { return c; }
}

...

public class Finestra extends JFrame {
   ...
   private MioBottone mb;
   ...
   public Finestra() {
      mb = new MioBottone(this, "Ciao");
      getContentPane().add(mb);
   }
   ...
   public void actionPerformed(ActionEvent ae) {
      Container c = ((MioBottone) ae.getSource()).getContainer();
   }
}
Ciao.