Java Reference
In-Depth Information
height . The last two arguments, arcWidth and arcHeight , specify the arcs that will be
used for the corners so as to produce a rounded rectangle. Each corner is replaced with
a quarter of an oval that is arcWidth pixels wide and arcHeight pixels high. This is
illustrated in Display 18.15. To obtain corners that are arcs of circles just make
arcWidth and arcHeight equal.
paintComponent for Panels
You can draw figures on a JPanel and place the JPanel in a JFrame . When defining a
JPanel class that contains a graphics drawing, you use the method paintComponent
instead of the method paint , but otherwise the details are similar to what we have seen
for JFrame s. JFrame s use the method paint . However, JPanels —and in fact all
JComponents —use the method paintComponent . A very simple example of using
paintComponent with a JPanel is given in Display 18.16.
If you look back at Display 17.12 in Chapter 17, you will see that a JPanel is a
JComponent , but a JFrame is not a JComponent . A JFrame is only a Component . That is
why they use different methods to paint the screen.
Action Drawings and repaint
The program in Display 18.17 is similar to the program in Display 18.13. It draws a
happy face similar to the happy face given in Display 18.13, but with one difference:
There is a button at the bottom of the GUI that says Click for a Wink . When you
click that button, the left eye winks. (Remember the left eye is on your right.) Let's see
the details.
Display 18.15 A Rounded Rectangle
g.drawRoundRect(x, y, width, height, arcWidth, arcHeight);
produces:
width
( x , y)
arcWidth
height
arcHeight
 
Search WWH ::




Custom Search