Penumbra を介して OpenGL を使用しようとすることから、Graphics コンテキストを使用して JPanel に直接描画しようとすることに移りました。
問題が発生していることを除けば、これは素晴らしいことです...コードをコンパイルすると、25回に1回、グラフィック(例では長方形)がうまく描画されます。他の〜24回はそうではありません。
これが私のコードです:
(def main
(let [frame (JFrame. "This is a test.")
main-panel (JPanel. (GridBagLayout.))
tpan (proxy [JPanel] [] (getPreferredSize [] (Dimension. 600 400)))]
(doto frame
(set-content-pane
(doto main-panel
(grid-bag-layout
:gridx 0 :gridy 0
tpan
:gridx 0 :gridy 1
xy-label)))
(pack-frame)
(set-visible))
(draw-line tpan Color/RED 250 250 50 50)))
機能draw-line
は以下です。
(defn draw-line [panel color x y w h]
(let [graphics (.getGraphics panel)]
(doto graphics
(.setColor color)
(.drawRect x y w h))))
何が起こっているのかわかりません。最初は私が取り組んでいる参照だと思っていましたが、それらを削除しましたが、まだこれらの問題があります. lein と slime/swank と emacs もリセットしました。私はかなり困惑しています。
いつものように、助けていただければ幸いです。これが答えのある質問であることを願っています!最近、私は不可能を求めているようです:)