Salve a tutti, ho un problema che mi sta facendo impazzire:
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-)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); } }
ora, in un'altra classe ho questo:
dove ovviamente: JInternalFrame sviluppo = new JInternalFrame(...)codice:public class sviluppoQuotidiani extends JInternalFrame { //creo il frame interno con i componenti che mi servono edicola.aggiungiFinestraInterna(sviluppo); sviluppo.pack(); sviluppo.setVisible(true); }
quando chiamo il metodo della classe edicola (la prima classe scritta sopra) ottengo l'errore:
l'unica soluzione è dichiarare il metodo aggiungiFinestraInterna della classe edicola come static????non-static method aggiungiFinestraInterna(javax.swing.JInternalFrame ) cannot be referenced froma static context
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!

Rispondi quotando