Results 1 to 7 of 7
Thread: polygon problem help
- 12-11-2012, 07:30 PM #1
Member
- Join Date
- Dec 2012
- Posts
- 5
- Rep Power
- 0
polygon problem help
hello
I would like to draw 4 different polygons each polygon has its own "id" and its points in an arraylist I'm working on this code but I can not draw polygons asking for your help I thank you in advance
import java.awt.Color;
import java.awt.Container;
import java.awt.Graphics;
import java.awt.Polygon;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.util.ArrayList;
import java.util.Collections;
import java.util.LinkedHashMap;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Polygons2 extends JPanel {
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
Set<POINTS> POLYGON = new LinkedHashSet<POINTS>();
//polygon 1 point 3
POLYGON.add(new POINTS(1, 50, 20));
POLYGON.add(new POINTS(1, 70, 30));
POLYGON.add(new POINTS(1, 50, 40));
//polygon 2 point 4
POLYGON.add(new POINTS(2, 100, 20));
POLYGON.add(new POINTS(2, 130, 30));
POLYGON.add(new POINTS(2, 100, 40));
POLYGON.add(new POINTS(2, 120, 30));
//polygon 3 point 6
POLYGON.add(new POINTS(3, 250, 20));
POLYGON.add(new POINTS(3, 280, 30));
POLYGON.add(new POINTS(3, 250, 40));
POLYGON.add(new POINTS(3, 230, 20));
POLYGON.add(new POINTS(3, 280, 30));
POLYGON.add(new POINTS(3, 250, 50));
//polygon 4 point 12
POLYGON.add(new POINTS(4, 350, 20));
POLYGON.add(new POINTS(4, 380, 30));
POLYGON.add(new POINTS(4, 350, 40));
POLYGON.add(new POINTS(4, 330, 20));
POLYGON.add(new POINTS(4, 380, 30));
POLYGON.add(new POINTS(4, 350, 50));
POLYGON.add(new POINTS(4, 350, 20));
POLYGON.add(new POINTS(4, 380, 30));
POLYGON.add(new POINTS(4, 330, 60));
POLYGON.add(new POINTS(4, 340, 50));
POLYGON.add(new POINTS(4, 340, 30));
POLYGON.add(new POINTS(4, 320, 30));
Map<Integer,List<POINTS>> PolygonsByID = new LinkedHashMap<Integer,List<POINTS>>();
for (POINTS n : POLYGON) {
List PolygonsForID = PolygonsByID.get(n.getID());
if (PolygonsForID == null) {
PolygonsForID = new ArrayList<POINTS>();
PolygonsByID.put(n.getID(), PolygonsForID);
Collections.sort(PolygonsForID);
}
PolygonsForID.add(n);
}
for(Map.Entry<Integer,List<POINTS>> count : PolygonsByID.entrySet()) {
int np = count.getValue().size();
System.out.println("polygon : " + count.getKey() + " points : " + np);
int n = 25 ;
int[] x = new int[n];
int[] y = new int[n];
int counter = 0;
for (POINTS pnt : POLYGON) {
x[counter] = pnt.getX();
y[counter++] = pnt.getY();
}
Polygon[] polygons = new Polygon[4];
for (int i = 0; i < polygons.length; i++) {
polygons[i] = new Polygon();
polygons[i] = new Polygon(x, y, np);
g.setColor(Color.RED);
g.drawPolygon(polygons[i]);
}
}
}
public class POINTS {
private int ID;
private int X;
private int Y;
public POINTS(
int ID, int X, int Y) {
this.ID = ID;
this.X = X;
this.Y = Y;
}
public int getX() {
return X;
}
public int getY() {
return Y;
}
public int getID() {
return ID;
}
}
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setTitle("Polygons2");
frame.setSize(550, 550);
frame.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
Container contentPane = frame.getContentPane();
contentPane.add(new Polygons2());
frame.show();
}
}
- 12-11-2012, 07:31 PM #2
AN21XX
- Join Date
- Mar 2012
- Location
- Munich
- Posts
- 297
- Rep Power
- 2
Re: polygon problem help
"but I can not draw polygons " is a little too short as problem description, what do you expect, what happens exactly (output?)
Please use the forum code tags around your code.I like likes!.gif)
- 12-11-2012, 07:38 PM #3
Member
- Join Date
- Dec 2012
- Posts
- 5
- Rep Power
- 0
Re: polygon problem help
Please use the forum tags around your code code.
I do not understand
- 12-11-2012, 07:52 PM #4
Member
- Join Date
- Dec 2012
- Posts
- 5
- Rep Power
- 0
Re: polygon problem help
Java Code:
import java.awt.Color;
import java.awt.Container;
import java.awt.Graphics;
import java.awt.Polygon;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.util.ArrayList;
import java.util.Collections;
import java.util.LinkedHashMap;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Polygons2 extends JPanel {
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
Set<POINTS> POLYGON = new LinkedHashSet<POINTS>();
//polygon 1 point 3
POLYGON.add(new POINTS(1, 50, 20));
POLYGON.add(new POINTS(1, 70, 30));
POLYGON.add(new POINTS(1, 50, 40));
//polygon 2 point 4
POLYGON.add(new POINTS(2, 100, 20));
POLYGON.add(new POINTS(2, 130, 30));
POLYGON.add(new POINTS(2, 100, 40));
POLYGON.add(new POINTS(2, 120, 30));
//polygon 3 point 6
POLYGON.add(new POINTS(3, 250, 20));
POLYGON.add(new POINTS(3, 280, 30));
POLYGON.add(new POINTS(3, 250, 40));
POLYGON.add(new POINTS(3, 230, 20));
POLYGON.add(new POINTS(3, 280, 30));
POLYGON.add(new POINTS(3, 250, 50));
//polygon 4 point 12
POLYGON.add(new POINTS(4, 350, 20));
POLYGON.add(new POINTS(4, 380, 30));
POLYGON.add(new POINTS(4, 350, 40));
POLYGON.add(new POINTS(4, 330, 20));
POLYGON.add(new POINTS(4, 380, 30));
POLYGON.add(new POINTS(4, 350, 50));
POLYGON.add(new POINTS(4, 350, 20));
POLYGON.add(new POINTS(4, 380, 30));
POLYGON.add(new POINTS(4, 330, 60));
POLYGON.add(new POINTS(4, 340, 50));
POLYGON.add(new POINTS(4, 340, 30));
POLYGON.add(new POINTS(4, 320, 30));
Map<Integer,List<POINTS>> PolygonsByID = new LinkedHashMap<Integer,List<POINTS>>();
for (POINTS n : POLYGON) {
List PolygonsForID = PolygonsByID.get(n.getID());
if (PolygonsForID == null) {
PolygonsForID = new ArrayList<POINTS>();
PolygonsByID.put(n.getID(), PolygonsForID);
Collections.sort(PolygonsForID);
}
PolygonsForID.add(n);
}
for(Map.Entry<Integer,List<POINTS>> count : PolygonsByID.entrySet()) {
int np = count.getValue().size();
System.out.println("polygon : " + count.getKey() + " points : " + np);
int n = 25 ;
int[] x = new int[n];
int[] y = new int[n];
int counter = 0;
for (POINTS pnt : POLYGON) {
x[counter] = pnt.getX();
y[counter++] = pnt.getY();
}
Polygon[] polygons = new Polygon[4];
for (int i = 0; i < polygons.length; i++) {
polygons[i] = new Polygon();
polygons[i] = new Polygon(x, y, np);
g.setColor(Color.RED);
g.drawPolygon(polygons[i]);
}
}
}
public class POINTS {
private int ID;
private int X;
private int Y;
public POINTS(
int ID, int X, int Y) {
this.ID = ID;
this.X = X;
this.Y = Y;
}
public int getX() {
return X;
}
public int getY() {
return Y;
}
public int getID() {
return ID;
}
}
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setTitle("Polygons2");
frame.setSize(550, 550);
frame.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
Container contentPane = frame.getContentPane();
contentPane.add(new Polygons2());
frame.show();
}
}
- 12-11-2012, 07:54 PM #5
Member
- Join Date
- Dec 2012
- Posts
- 5
- Rep Power
- 0
Re: polygon problem help
Java Code:< import java.awt.Color; import java.awt.Container; import java.awt.Graphics; import java.awt.Polygon; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.util.ArrayList; import java.util.Collections; import java.util.LinkedHashMap; import java.util.LinkedHashSet; import java.util.List; import java.util.Map; import java.util.Set; import javax.swing.JFrame; import javax.swing.JPanel; public class Polygons2 extends JPanel { @Override public void paintComponent(Graphics g) { super.paintComponent(g); Set<POINTS> POLYGON = new LinkedHashSet<POINTS>(); //polygon 1 point 3 POLYGON.add(new POINTS(1, 50, 20)); POLYGON.add(new POINTS(1, 70, 30)); POLYGON.add(new POINTS(1, 50, 40)); //polygon 2 point 4 POLYGON.add(new POINTS(2, 100, 20)); POLYGON.add(new POINTS(2, 130, 30)); POLYGON.add(new POINTS(2, 100, 40)); POLYGON.add(new POINTS(2, 120, 30)); //polygon 3 point 6 POLYGON.add(new POINTS(3, 250, 20)); POLYGON.add(new POINTS(3, 280, 30)); POLYGON.add(new POINTS(3, 250, 40)); POLYGON.add(new POINTS(3, 230, 20)); POLYGON.add(new POINTS(3, 280, 30)); POLYGON.add(new POINTS(3, 250, 50)); //polygon 4 point 12 POLYGON.add(new POINTS(4, 350, 20)); POLYGON.add(new POINTS(4, 380, 30)); POLYGON.add(new POINTS(4, 350, 40)); POLYGON.add(new POINTS(4, 330, 20)); POLYGON.add(new POINTS(4, 380, 30)); POLYGON.add(new POINTS(4, 350, 50)); POLYGON.add(new POINTS(4, 350, 20)); POLYGON.add(new POINTS(4, 380, 30)); POLYGON.add(new POINTS(4, 330, 60)); POLYGON.add(new POINTS(4, 340, 50)); POLYGON.add(new POINTS(4, 340, 30)); POLYGON.add(new POINTS(4, 320, 30)); Map<Integer,List<POINTS>> PolygonsByID = new LinkedHashMap<Integer,List<POINTS>>(); for (POINTS n : POLYGON) { List PolygonsForID = PolygonsByID.get(n.getID()); if (PolygonsForID == null) { PolygonsForID = new ArrayList<POINTS>(); PolygonsByID.put(n.getID(), PolygonsForID); Collections.sort(PolygonsForID); } PolygonsForID.add(n); } for(Map.Entry<Integer,List<POINTS>> count : PolygonsByID.entrySet()) { int np = count.getValue().size(); System.out.println("polygon : " + count.getKey() + " points : " + np); int n = 25 ; int[] x = new int[n]; int[] y = new int[n]; int counter = 0; for (POINTS pnt : POLYGON) { x[counter] = pnt.getX(); y[counter++] = pnt.getY(); } Polygon[] polygons = new Polygon[4]; for (int i = 0; i < polygons.length; i++) { polygons[i] = new Polygon(); polygons[i] = new Polygon(x, y, np); g.setColor(Color.RED); g.drawPolygon(polygons[i]); } } } public class POINTS { private int ID; private int X; private int Y; public POINTS( int ID, int X, int Y) { this.ID = ID; this.X = X; this.Y = Y; } public int getX() { return X; } public int getY() { return Y; } public int getID() { return ID; } } public static void main(String[] args) { JFrame frame = new JFrame(); frame.setTitle("Polygons2"); frame.setSize(550, 550); frame.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { System.exit(0); } }); Container contentPane = frame.getContentPane(); contentPane.add(new Polygons2()); frame.show(); } } >
- 12-11-2012, 09:12 PM #6
Re: polygon problem help
Code Conventions for the Java Programming Language: Contents -- especially the part about indenting code.
dbWhy do they call it rush hour when nothing moves? - Robin Williams
- 12-11-2012, 10:06 PM #7
Member
- Join Date
- Dec 2012
- Posts
- 5
- Rep Power
- 0
Re: polygon problem help
hello
excuse me where am I wrong
Java Code:< import java.awt.Color; import java.awt.Container; import java.awt.Graphics; import java.awt.Polygon; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.util.ArrayList; import java.util.Collections; import java.util.LinkedHashMap; import java.util.LinkedHashSet; import java.util.List; import java.util.Map; import java.util.Set; import javax.swing.JFrame; import javax.swing.JPanel; public class Polygons2 extends JPanel { @Override public void paintComponent(Graphics g) { super.paintComponent(g); Set<POINTS> POLYGON = new LinkedHashSet<POINTS>(); //polygon 1 point 3 POLYGON.add(new POINTS(1, 50, 20)); POLYGON.add(new POINTS(1, 70, 30)); POLYGON.add(new POINTS(1, 50, 40)); //polygon 2 point 4 POLYGON.add(new POINTS(2, 100, 20)); POLYGON.add(new POINTS(2, 130, 30)); POLYGON.add(new POINTS(2, 100, 40)); POLYGON.add(new POINTS(2, 120, 30)); //polygon 3 point 6 POLYGON.add(new POINTS(3, 250, 20)); POLYGON.add(new POINTS(3, 280, 30)); POLYGON.add(new POINTS(3, 250, 40)); POLYGON.add(new POINTS(3, 230, 20)); POLYGON.add(new POINTS(3, 280, 30)); POLYGON.add(new POINTS(3, 250, 50)); //polygon 4 point 12 POLYGON.add(new POINTS(4, 350, 20)); POLYGON.add(new POINTS(4, 380, 30)); POLYGON.add(new POINTS(4, 350, 40)); POLYGON.add(new POINTS(4, 330, 20)); POLYGON.add(new POINTS(4, 380, 30)); POLYGON.add(new POINTS(4, 350, 50)); POLYGON.add(new POINTS(4, 350, 20)); POLYGON.add(new POINTS(4, 380, 30)); POLYGON.add(new POINTS(4, 330, 60)); POLYGON.add(new POINTS(4, 340, 50)); POLYGON.add(new POINTS(4, 340, 30)); POLYGON.add(new POINTS(4, 320, 30)); Map<Integer, List<POINTS>> PolygonsByID = new LinkedHashMap<Integer, List<POINTS>>(); for (POINTS n : POLYGON) { List PolygonsForID = PolygonsByID.get(n.getID()); if (PolygonsForID == null) { PolygonsForID = new ArrayList<POINTS>(); PolygonsByID.put(n.getID(), PolygonsForID); Collections.sort(PolygonsForID); } PolygonsForID.add(n); } for (Map.Entry<Integer, List<POINTS>> count : PolygonsByID.entrySet()) { int np = count.getValue().size(); System.out.println("polygon : " + count.getKey() + " points : " + np); int n = 25; int[] x = new int[n]; int[] y = new int[n]; int counter = 0; for (POINTS pnt : POLYGON) { x[counter] = pnt.getX(); y[counter++] = pnt.getY(); } Polygon[] polygons = new Polygon[1]; for (int i = 0; i < polygons.length; i++) { polygons[i] = new Polygon(); polygons[i] = new Polygon(x, y, np); g.setColor(Color.RED); g.drawPolygon(polygons[i]); } } } public class POINTS { private int ID; private int X; private int Y; public POINTS( int ID, int X, int Y) { this.ID = ID; this.X = X; this.Y = Y; } public int getX() { return X; } public int getY() { return Y; } public int getID() { return ID; } } public static void main(String[] args) { JFrame frame = new JFrame(); frame.setTitle("Polygons2"); frame.setSize(550, 550); frame.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { System.exit(0); } }); Container contentPane = frame.getContentPane(); contentPane.add(new Polygons2()); frame.show(); } } >Last edited by liulca; 12-11-2012 at 10:12 PM.
Similar Threads
-
polygon growing
By ericT in forum New To JavaReplies: 1Last Post: 09-24-2011, 08:35 PM -
Drag polygon
By cassysumandak in forum New To JavaReplies: 5Last Post: 03-10-2011, 06:30 PM -
Polygon won't show up
By pizzadude223 in forum Java 2DReplies: 5Last Post: 08-09-2010, 03:51 AM -
How to use Polygon class?
By lost_soul in forum New To JavaReplies: 8Last Post: 04-25-2010, 12:48 AM -
How to copy a polygon
By cassysumandak in forum New To JavaReplies: 6Last Post: 10-07-2009, 12:37 AM


LinkBack URL
About LinkBacks
Reply With Quote
Bookmarks