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

「反思警告,打電話的paintComponent解決不了」如何輸入此反射警告?

+0

如果你想出來,我會很有興趣知道。我研究了'proxy-super'的實現,它看起來總是會反映你是否調用受保護的方法,但我不確定我是否正確讀取它。 – 2009-10-08 03:37:25

回答

1

因爲代理超級用途暗含this

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

它看起來像警告是行

(proxy-super paintComponent g) 

是否父類javax.swing.JPanel中的有paintComponent方法?

刪除該行適用於我。