import java.awt.*; import java.applet.*; import javax.swing.*; /************************************************************** * En applikation som visar upp några grundläggande javatekniker * för grafikhantering. * * @author Peter Mozelius * @version 1.01 * Rapportera hittade fel till: *mozelius@dsv.su.se ***************************************************************/ public class Lektion3c extends JFrame{ private JPanel panel; private TextYta ty; private Toolkit tk; private Image bild; public Lektion3c(){ setBackground(new Color(204, 0, 0)); this.setSize(350, 200); Toolkit toolkit = Toolkit.getDefaultToolkit(); bild = toolkit.getImage("bild.jpg"); ty = new TextYta(bild); add(ty,"Center"); setVisible(true); setDefaultCloseOperation(EXIT_ON_CLOSE); } public static void main(String[] args) { new Lektion3c(); } }//Lektion3c /************************************************************** * Specialisering av en JPanel där methoden paintComponent() * ritar ut strängen text centrerad över den bild som ges som * argument till klassens konstruktor * * @author Peter Mozelius * @version 1.01 * Rapportera hittade fel till: *mozelius@dsv.su.se ***************************************************************/ class TextYta extends JPanel{ private Image bild; private String text; private Font minFont; private FontMetrics fm; private Dimension dim; private int x, y; public TextYta(Image bild){ super(); this.setSize(350, 200); this.bild = bild; minFont = new Font("TimesRoman", java.awt.Font.BOLD, 52); text = new String("Hejsan!!"); } public void paintComponent(Graphics g){ super.paintComponent(g); g.drawImage(bild, 0, 0, this); g.setColor(new Color(70, 70, 70)); g.setFont(minFont); fm = g.getFontMetrics(minFont); dim = getSize(); int sWidth = fm.stringWidth(text); x = (dim.width/2) - (sWidth/2); y = 145; g.drawString(text,x, y); }//paintComponent }//TextYta