Salve a tutti, ho un problema che mi sta facendo impazzire:

codice:
public class edicola
{
   private JDesktopPane mydesktop;
   
   public static void main(String[] args) {
      edicola istanzaEdicola = new edicola();
      istanzaEdicola.creaFrame();
   }
	
   public void creaFrame()
   {
	//crea il frame
   }
	
   public void aggiungiFinestraInterna(JInternalFrame intFra) {
      JInternalFrame FrameDaAggiungere = intFra;
      mydesktop.add(FrameDaAggiungere);
   }
}
questa è la classe con il main (in cui ho dovuto creare un oggetto della stessa classe e chiamarci la funzione che crea il frame -soluzione trovata sul forum java.sun.com-)

ora, in un'altra classe ho questo:

codice:
public class sviluppoQuotidiani extends JInternalFrame
{
   //creo il frame interno con i componenti che mi servono

   edicola.aggiungiFinestraInterna(sviluppo); 
   sviluppo.pack();
   sviluppo.setVisible(true);
}
dove ovviamente: JInternalFrame sviluppo = new JInternalFrame(...)
quando chiamo il metodo della classe edicola (la prima classe scritta sopra) ottengo l'errore:

non-static method aggiungiFinestraInterna(javax.swing.JInternalFrame ) cannot be referenced froma static context
l'unica soluzione è dichiarare il metodo aggiungiFinestraInterna della classe edicola come static????
Mi sembra strano in quanto se questa fosse l'unica soluzione dovrei dichiarare tutti i metodi di una classe, che vengono usati anche da altre classi, come "public static..." e non mi sembra una cosa molto sensata!