Graphics Methods in Java

Discussion in 'Java' started by pradeep, Nov 3, 2006.

  1. pradeep

    pradeep Team Leader

    Joined:
    Apr 4, 2005
    Messages:
    1,645
    Likes Received:
    87
    Trophy Points:
    48
    Occupation:
    Programmer
    Location:
    Kolkata, India
    Home Page:
    http://blog.pradeep.net.in

    Drawing Lines



    The drawLine method belongs to the Graphics class.

    This example draws a fan of twenty lines from the bottom center of the Applet along the top edge. The applet's getSize method is used to find the dimensions of the applet.
    Code:
    import java.awt.*;
    import java.applet.*;
    public class LineExample extends Applet
    {
        public LineExample()
        {
            this.setBackground(new Color(255, 255, 255));
            this.setForeground(new Color(255, 0, 0));
        }
        public void paint(Graphics g)
        {
            // Get the width and height of the Applet
            int width = this.getSize().width;
            int height = this.getSize().height;
            // Fan 20 lines from the bottom-middle, across the top
            for (int counter=0; counter<=width; counter+=(width/20))
                g.drawLine(width/2, height, counter, 0);
        }
    }

    Drawing Ovals



    The drawOval method belongs to the Graphics class.

    The drawOval method takes four parameters; x, y, width, and height. The following example draws an oval, half the size of the applet, in the center of the applet.
    Code:
    import java.awt.*;
    import java.applet.*;
    public class OvalExample extends Applet
    {
        public OvalExample()
        {
            this.setBackground(new Color(255, 255, 255));
            this.setForeground(new Color(255, 0, 0));
        }
        public void paint(Graphics g)
        {
            // Get the width and height of the Applet
            int width = this.getSize().width;
            int height = this.getSize().height;
            g.drawOval(width/4, height/4, width/2, height/2);
        }
    }

    Freehand Drawing



    In the previous examples, the paint method was used to display graphics on the applet. The paint method has a parameter for the graphics context, but you may wish to use the graphics context in other methods that don't have a graphics parameter. The getGraphics method is used to return the graphics context for a component, which in this case is the applet.

    Graphics g = this.getGraphics();

    Freehand Example:



    The following example uses the getGraphics method for free-hand drawing. The example uses a MouseListener, and a MouseMotionListener, which are part of the Java 1.1 Event Model.
    Code:
    import java.awt.*;
    import java.applet.*;
    import java.awt.event.*;
    public class FreehandExample extends Applet implements MouseListener, MouseMotionListener
    {
        private Point start, end;
        public FreehandExample()
        {
            this.setBackground(new Color(255, 204, 0));
            this.setForeground(new Color(51, 153, 204));
            // Add the Event Listeners
            this.addMouseListener(this);
            this.addMouseMotionListener(this);
        }
        // Capture the mousePressed event
        public void mousePressed(MouseEvent e)
        {
            start = new Point(e.getX(), e.getY());
        }
        // Define the other events for MouseListener
        public void mouseClicked(MouseEvent e) {}
        public void mouseEntered(MouseEvent e) {}
        public void mouseExited(MouseEvent e) {}
        public void mouseReleased(MouseEvent e) {}
    	
        // Capture the mouseDrag event
        public void mouseDragged(MouseEvent e)
        {
            // Get the current state of the graphics
            Graphics g = this.getGraphics();
    		
            end = new Point(e.getX(), e.getY());
            g.drawLine(start.x, start.y, end.x, end.y);
            start = end;
        }
        // Define the other events for MouseMotionListener
        public void mouseMoved(MouseEvent e) {}
    }
     

Share This Page

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice