2009-10-06 13 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))) 

"Reflexión advertencia, llame a paintComponent no se puede resolver"¿Cómo tecleo esta advertencia de reflexión?

+0

Si alguna vez te das cuenta de esto me gustaría saber. Investigué la implementación de 'proxy-super' y parece que siempre se reflejará si llamas a un método protegido, pero no estoy seguro de que lo esté leyendo correctamente. –

Respuesta

1

Debido proxy-súper uso implícito this.

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

Parece que la advertencia es para la línea

(proxy-super paintComponent g) 

¿La clase padre de javax.swing.JPanel tienen una método paintComponent?

Eliminar esa línea funciona para mí.

Cuestiones relacionadas