2009-10-06 19 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

यदि आप इसे कभी समझते हैं तो मुझे जानना होगा। मैंने 'प्रॉक्सी-सुपर 'के कार्यान्वयन को देखा और ऐसा लगता है कि अगर आप एक संरक्षित विधि कहते हैं तो यह हमेशा प्रतिबिंबित होगा, लेकिन मुझे अनिश्चितता है कि मैं इसे ठीक से पढ़ रहा हूं। –

उत्तर

1

क्योंकि प्रॉक्सी-सुपर उपयोग निहित this है।

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

यह चेतावनी की तरह लग रहा लाइन

(proxy-super paintComponent g) 

javax.swing.JPanel की मूल वर्ग एक है के लिए है पेंटकंपोनेंट विधि?

उस रेखा को हटाने के लिए मेरे लिए काम करता है।

संबंधित मुद्दे