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)))
(set! *warn-on-reflection* true)
(proxy [javax.swing.JPanel] []
(paintComponent [#^java.awt.Graphics g]
(proxy-super paintComponent g)
(.fillRect g 100 100 10 10)))
プロキシスーパーは暗黙的にthis
を使用するためです。
(let [^javax.swing.JPanel this this]
(proxy-super paintComponent g))
を「反射警告、paintComponentを呼び出すには解決できない」という警告が行の
(proxy-super paintComponent g)
はjavax.swing.JPanelの親クラスを持っていているように見えますpaintComponentメソッド?
この行を削除すると、私のために機能します。
これを理解することができたら、私は知りたいと思うでしょう。私は 'proxy-super'の実装を調べました。保護されたメソッドを呼び出すと常に反映されるように見えますが、私はそれを正しく読んでいます。 –