| | |
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 |
-xlint android api applet application array arrays automation bi binary blackberry block bluetooth chat class classes client code compile compiler component database developmenthelp draw eclipse error event exception fractal freeze game gameprogramming givemetehcodez graphics gui html ide image input integer j2me j2seprojects java javac javaprojects jetbrains jni jpanel jtable julia learningresources lego linux list login loop loops mac map method methods mobile netbeans newbie notdisplaying number online oracle page print problem program programming project qt recursion scanner screen server set singleton size sms sort sql string swing system template textfields threads time title tree tutorial-sample update variablebinding windows working xor






