![]() |
The Java Developers Almanac 1.4Order this book from Amazon. |
e575. The Quintessential Drawing ProgramTo draw on the screen, it is first necessary to subclass aJComponent and override its paint() method. The paint()
method is automatically called by the windowing system whenever
component's area needs to be repainted.
The This example defines a component that draws an oval and installs an instance of this component in a frame. See also e586 Drawing Simple Shapes. import java.awt.*; import javax.swing.*; public class BasicDraw { public static void main(String[] args) { new BasicDraw(); } BasicDraw() { // Create a frame JFrame frame = new JFrame(); // Add a component with a custom paint method frame.getContentPane().add(new MyComponent()); // Display the frame int frameWidth = 300; int frameHeight = 300; frame.setSize(frameWidth, frameHeight); frame.setVisible(true); } class MyComponent extends JComponent { // This method is called whenever the contents needs to be painted public void paint(Graphics g) { // Retrieve the graphics context; this object is used to paint shapes Graphics2D g2d = (Graphics2D)g; // Draw an oval that fills the window int x = 0; int y = 0; int width = getSize().width-1; int height = getSize().height-1; g2d.drawOval(x, y, width, height); } } }
e577. Enabling Antialiasing e578. Setting the Clipping Area with a Shape e579. Changing the Thickness of the Stroking Pen e580. Stroking or Filling with a Texture e581. Animating an Array of Images in an Application
© 2002 Addison-Wesley. |