943,685 Members | Top Members by Rank

Ad:
  • Java Discussion Thread
  • Unsolved
  • Views: 538
  • Java RSS
Dec 8th, 2008
0

Looping in Applet

Expand Post »
I am to design an applet that produces a six sided polygon in which the coordinates are set according to the location of the mouse when it is clicked. I am struggling setting each of the clicks to the correct point. I have tried many things, however have not been able to come up with a working idea. I have set up a while loop in my mouseListener, and am not sure what I am missing. If you can help, I would appreciate it.

I thank you in advance for your help, here is my code...

package hw14;

import java.awt.event.MouseEvent;
import javax.swing.*;
import java.awt.*;
import java.awt.event.MouseListener;

public class Main extends JApplet
{
    private int x1, x2, x3, x4, x5, x6;
    private int y1, y2, y3, y4, y5, y6;
    int [] xC = {x1,x2,x3,x4,x5,x6};
      int [] yC = {y1,y2,y3,y4,y5,y6};
    
    boolean mouseClicked = false;
        
   public void init()
   {
      getContentPane().setBackground(Color.WHITE);  
      addMouseListener(new MyMouseListener());
   }
   
   public void paint(Graphics g)
   {
       
      
      
      super.paint(g);
      g.setColor(Color.BLACK);
      g.drawPolygon(xC,yC,6);
      
      
      if(mouseClicked== true)
      {
          
      g.setColor(Color.BLACK);
      g.drawPolygon(xC,yC,6);
      
      }
   
   
   }
   
   
   private class MyMouseListener implements MouseListener
   {
        
       public void mousePressed(MouseEvent e)
       {
           
       }

     
        public void mouseClicked(MouseEvent e) {
           
        
        int x = e.getX();
        int y = e.getY();
        
        int i= 0;
        int j =0;
        int r = 0;
        
        while (i <= 5)
        {
            xC[r] = x;
            yC[j] = y;
           
            
            r++;
            j++;
            i++;
            
           
        }

        
        mouseClicked = true;
        repaint();
        
        }

        public void mouseReleased(MouseEvent e) {
           
        }

        public void mouseEntered(MouseEvent e) {
           
        }

        public void mouseExited(MouseEvent e) {
            
        }
   }
   
   }
Similar Threads
Reputation Points: 4
Solved Threads: 0
Light Poster
cproud21 is offline Offline
42 posts
since Sep 2008
Dec 8th, 2008
1

Re: Looping in Applet

You don't want a while() loop in the mouseListener. You want to increment a counter each time a point is collected until you have recorded the required number of points for your polygon. You may only want to draw the points themselves until you have the entire polygon specified. You'll also need some way to reset it. Perhaps a seventh click or a right-click should clear the points and reset the counter.
Moderator
Featured Poster
Reputation Points: 3239
Solved Threads: 838
Posting Genius
Ezzaral is offline Offline
6,757 posts
since May 2007

This thread is more than three months old

No one has posted to this discussion for at least three months. Please let old threads die and do not reply to them unless you feel you have something new and valuable to contribute that absolutely must be added to make the discussion complete. Otherwise, please start a new thread in this forum instead.
Message:
Previous Thread in Java Forum Timeline: Comparing Characters
Next Thread in Java Forum Timeline: General Multithreading question...





About Us | Contact Us | Advertise | Acceptable Use Policy
Forum Index | Build Custom RSS Feed


Follow us on Twitter


© 2011 DaniWeb® LLC