package elte.java2_utikalauz5.tour; import java.awt.*; import java.awt.geom.*; /** Kis ábra. @link.forrásfájl {@docRoot}/../data/tour/src Abra.java @since Java Útikalauz programozóknak */ public class Abra extends Canvas { /** Verziószám. */ private final static long serialVersionUID = 15L; private int szog = 0; // forgatási szög private GeneralPath abra = null; // az ábra leírása private RenderingHints minoseg = null; // megjelenítés módja public Abra() { abra = new GeneralPath(); // tetszőleges ábra abra.append(new Ellipse2D.Double(5.0, 12.5, 30.0, 15.0), false); abra.append(new Ellipse2D.Double(12.5, 5.0, 15.0, 30.0), false); minoseg = new RenderingHints( // "antialiasing" bekapcsolása RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); setSize(40, 40); // az elem mérete } public void paint(Graphics g) { Graphics2D g2 = (Graphics2D) g; // ez a típuskényszerítés // csak Java 2-ben érvényes! g2.setRenderingHints(minoseg); g2.rotate(Math.PI * szog / 180.0, 20.0, 20.0); g2.draw(abra); } public void forgat() { szog = (szog + 1) % 360; // szög növelése repaint(); } }