Giava. Come è possibile essere dichiarazioni di funzionare dopo dispose ();

voti
0

Stavo sperimentando con Java e stavo cercando di creare il mio JOptionPane. In sostanza si trattava di un JPanel che restituisce un valore. (JPanel ha proprietario)

Volevo farlo comportare come JOptionPane, dovrebbe distruggere se stessa quando il valore è stato restituito.

Il metodo è stato:

public Value getValue(){
    try{
       dispose();
    }finally{
       return value;
    }
}

Ho usato una prova - blocco finally per assicurarsi che restituisca il valore, ma con un po 'di codice esperimenti funziona senza prova - blocco finally.

Come sia possibile dichiarazioni e metodi di lavoro dopo dispose ()?

Anche questo codice è valido

public Person getPerson(){
    dispose();
    System.out.println(aaa);
    printFromMethod();
    return person;
}

E sarà il pannello disposta dopo il ritorno del valore?

È pubblicato 08/09/2014 alle 22:02
dall'utente
In altre lingue...                            


1 risposte

voti
2

Come da documentazione di Java, Smaltire metodo rilascia tutte le risorse nativa dello schermo utilizzate da questa finestra, le sue sottocomponenti, e tutti i suoi figli di proprietà.

Ciò non implica l'oggetto può fare le sue funzioni come questo metodo pulisce solo le risorse dello schermo e non influenza il codice che non ha nulla a che fare con interfaccia utente.

Tuttavia, non si dovrebbe chiamare il metodo Dispose da JPanel in questo caso perché è ancora attaccato al suo genitore in modo da chiamare il metodo non ottenere quello che vuoi, piuttosto che cosa si dovrebbe fare è chiamare il metodo Dispose nel JFrame

Risposto il 08/09/2014 a 22:31
fonte dall'utente

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more