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

이 반사 경고는 어떻게 표시하나요?

그것은 경고처럼 보인다
+0

혹시이 사실을 알고 싶으면 알고 싶습니다. 나는'proxy-super'의 구현을 들여다 보았습니다. 보호 된 메소드를 호출하면 항상 반영 될 것처럼 보이지만 제대로 읽지는 확실하지 않습니다. –

답변

1

proxy-super는 암시적인 this을 사용하기 때문에.

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

(proxy-super paintComponent g) 

이를 javax.swing.JPanel의 부모 클래스가 있습니까 라인을위한 "반사 경고의 paintComponent에 전화를 확인할 수 없습니다" paintComponent 메소드?

해당 줄을 제거하면됩니다.