•Realtime Graphics with BufferedImageJPanel

In[44]:=

LoadJavaClass["javaphotoeditor.BufferedImageJPanel"]

In[45]:=

p = JavaNew["javaphotoeditor.BufferedImageJPanel"]

In[46]:=

bi = BufferedImageJPanel`createBufferedImage[400, 300]

In[47]:=

w = bi @ getWidth[]

In[48]:=

h = bi @ getHeight[]

In[49]:=

big = bi @ createGraphics[]

In[50]:=

LoadJavaClass["java.awt.GradientPaint"]

In[51]:=

LoadJavaClass["java.awt.Color"]

In[52]:=

big @ setPaint[ JavaNew["java.awt.GradientPaint",  0, 0, Color`red,  w, h, Color`blue] ]

In[53]:=

LoadJavaClass["java.awt.geom.Ellipse2D"]

In[54]:=

JavaNew["java.awt.geom.Ellipse2D$Double"]

In[55]:=

Do[ Do[ big @ fill[JavaNew["java.awt.geom.Ellipse2D$Double", N[x], N[y], N[w/4], N[h/4]]],  {x, 0, w - w/4, w/4} ],  {y, 0, h - h/4, h/4} ]

In[56]:=

big @ dispose[]

In[57]:=

p @ setBufferedImage[bi]

In[58]:=

f = JavaNew["com.wolfram.jlink.MathJFrame", "BufferedImageJPanel Test"]

In[59]:=

f @ getContentPane[] @ add[p]

In[60]:=

p @ setPreferredSize[JavaNew["java.awt.Dimension", w, h]]

In[61]:=

f @ pack[]

In[62]:=

JavaShow[f]

In[63]:=

Plot[Round[(2 + Sin[k]) Sqrt[k]], {k, 1, 10 Pi}]

Screenshot

[Graphics:../HTMLFiles/index_211.gif]

Realtime Graphics

In[64]:=

JavaShow[f] ; Do[ big = bi @ createGraphics[] ;  r = Round[(2 + Sin[k]) Sqrt[k]] ;  big @ clea ... r, w/r} ],  {y, 0, h - h/r, h/r} ] ;  big @ dispose[] ;  f @ repaint[] ;,  {k, 1, 10 Pi, Pi/12} ]


Converted by Mathematica  (July 17, 2003)