Concurrent Programming with Java
Lab Manual, Version 1.0, F. Astha Ekadiyanto,
2002.
Lab 3: Building Applets - Graphical representation
Similar to the process in defining draw(Graphics) method in the CircleCell, the declaration of HexCell Class should change into:
public class HexCell extends Cell implements Visualization
Then add a new method called draw(Graphics g) inside the Class definition.
This time we will use the drawPolygon(Polygon) method.
But, before we could call the drawPolygon(Polygon) method, we must first
create a Polygon Object that represent the HexCell Shape.
We can create a Hexagonal Polygon just by adding the six corner points into the Polygon Object. Of course, things would be easier if we could define a looping process for it.
Polygon polygon = new Polygon(); for( int i=0; i<6;i++) { int x1 = (int) ( x + r * Math.cos(i*Math.PI/3)); int y1 = (int) ( y + r * Math.sin(i*Math.PI/3)); polygon.addPoint(x1,y1); }
After that, drawing Polygon should be very simple
g.drawPolygon(polygon);
The complete implementation in Java is shown below.
import java.lang.Math; import java.awt.Graphics; import java.awt.Polygon; public class HexCell extends Cell implements Visualization { // . . . all other code of the original HexCell Class public void draw(Graphics g) { |