2009-10-06 10 views
7
(set! *warn-on-reflection* true) 
(proxy [javax.swing.JPanel] [] 
    (paintComponent [#^java.awt.Graphics g] 
    (proxy-super paintComponent g) 
    (.fillRect g 100 100 10 10))) 

"avvertimento di riflessione, chiamata a paintComponent non può essere risolto"Come si digita questo avviso di riflessione?

+0

Se mai capirlo, sarei interessato a sapere. Ho esaminato l'implementazione di 'proxy-super' e sembra che rifletta sempre se chiami un metodo protetto, ma non sono sicuro di leggerlo correttamente. –

risposta

1

Poiché proxy-super uso implicito this.

(let [^javax.swing.JPanel this this] 
    (proxy-super paintComponent g)) 
3

Sembra che l'avviso è per la linea

(proxy-super paintComponent g) 

Condivide la classe padre di javax.swing.JPanel hanno un metodo paintComponent?

Rimuovere quella linea funziona per me.

Problemi correlati