| | |
Looping in Applet
Please support our Java advertiser: Programming Forums - DaniWeb Sister Site
![]() |
•
•
Join Date: Sep 2008
Posts: 38
Reputation:
Solved Threads: 0
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...
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) {
}
}
} 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.
![]() |
Similar Threads
- How do I deal with multiple button presses with KeyListener? (Java)
- Need help with looping some sounds (Java)
Other Threads in the Java Forum
- Previous Thread: Comparing Characters
- Next Thread: General Multithreading question...
| Thread Tools | Search this Thread |
911 actionlistener addressbook android api append applet application array arrays automation binary bluetooth character chat class classes client code component consumer csv database desktop draw eclipse error event exception fractal ftp game givemetehcodez graphics gui html ide image input integer j2me japplet java javaarraylist javac javaee javaprojects jmf jni jpanel julia linked linux list loop map method methods mobile netbeans newbie objects online oracle oriented panel print printf problem program programming project projects properties recursion replaydirector reporting researchinmotion robot rotatetext rsa scanner screen se server set size sms sort sql string swing template test threads time tree ubuntu update windows






