/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package EierUhrKomponente; import java.awt.BasicStroke; import java.awt.Color; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.RenderingHints; import java.awt.geom.Ellipse2D; import java.util.logging.Logger; import javax.swing.JComponent; import ohmlogger.OhmLogger; /** * * @author chris */ public class EierUhrView extends JComponent { private static Logger lg = OhmLogger.getLogger(); private int zahl; private Ellipse2D.Float rand; private int DICKE; private BasicStroke pinsel; private EierUhr eierUhr; public EierUhrView(EierUhr eierUhr) { zahl = 99; rand = new Ellipse2D.Float(); DICKE = 4; pinsel = new BasicStroke(DICKE); this.eierUhr = eierUhr; } @Override public void paintComponent(Graphics g) { super.paintComponents(g); Graphics2D g2 = (Graphics2D) g; g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); int breite = eierUhr.getWidth() -1; int hoehe = eierUhr.getHeight() -1; int radius = -DICKE/2 + Math.min(breite, hoehe) / 2; float x = breite/2 - radius; float y = hoehe/2 - radius; rand.setFrame(x, y, 1.5*radius, 2*radius); g2.setStroke(pinsel); // g2.setPaint(eierUhr.getParent().getBackground()); // g2.fill(rand); float font = (g2.getFont().getSize()*DICKE); g2.setPaint(Color.BLACK); g2.setFont(g2.getFont().deriveFont(font)); g2.drawString(Integer.toString(zahl), (float) (x+radius*0.75-font/2), y+radius+font/2); g2.draw(rand); lg.info("paint" + Integer.toString(zahl)); } public int getZahl() { return this.zahl; } public void setZahl(int zahl) { this.zahl = zahl; eierUhr.repaint(); } }