package elte.java2_utikalauz5.java2d; import java.awt.*; import java.awt.font.*; import java.awt.geom.*; import java.awt.event.*; /** peldaprogram texturazott karakterek megjelenitesere. @link.forrásfájl {@docRoot}/../data/java2d/src TexturazottBetuk.java @link.letöltés {@docRoot}/../data/java2d TexturazottBetuk.jar @since Java 2 Útikalauz programozóknak */ class TexturazottBetuk extends Canvas { /** Verziószám */ private final static long serialVersionUID = 15L; Image kep; public void kepBetoltes () { setBackground (Color.white); kep = getToolkit ().getImage (getClass().getClassLoader().getResource("kep.jpg")); try { MediaTracker tracker = new MediaTracker (this); tracker.addImage (kep, 0); tracker.waitForID (0); } catch (Exception e) { } } public void paint (Graphics g) { Graphics2D g2 = (Graphics2D) g; FontRenderContext frc = g2.getFontRenderContext (); Font betutipus = new Font ("Times New Roman", Font.BOLD, 72); String szoveg = new String ("Ez egy szoveg !"); TextLayout megjelenito = new TextLayout (szoveg, betutipus, frc); AffineTransform trafo = new AffineTransform (); trafo.setToTranslation (0.0f, 100.0f); Shape korvonal = megjelenito.getOutline (trafo); g2.setColor (Color.red); g2.draw (korvonal); g2.setClip (korvonal); Rectangle r = korvonal.getBounds (); g2.drawImage (kep, r.x, r.y, r.width, r.height, this); } public static void main (String[] args) { Frame f = new Frame (); TexturazottBetuk t = new TexturazottBetuk (); f.add (t); t.kepBetoltes (); f.addWindowListener ( new WindowAdapter () { public void windowClosing (WindowEvent e) { System.exit (0); } } ); f.setSize (500, 200); f.setVisible (true); } }