Состояние состязания(?) при использовании Swing

Я шел дальше от попытки использовать OpenGL через Мягкое затенение к попытке привлечь непосредственно на JPanel использование его Графического контекста.

Это было бы большим, кроме я сталкиваюсь с некоторой проблемой …, я компилирую свой код, и в ~1 раз из 25, диаграмма (это - прямоугольник для примера), тянет очень хорошо. Другие ~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 и слизь/чванство и emacs, также. Я вполне озадачен.

Как обычно, любая справка ценилась бы. Я надеюсь, что это - вопрос с ответом! В последнее время я, кажется, спрашиваю невозможное :)

6
задан Isaac 29 July 2010 в 21:01
поделиться