/**
 * Title:        Pommeja taivaalta
 * Description:  Geneerinen räiskintäpeli Javalla
 * Copyright:    Copyright (c) 2003
 *
 * @author Juho Makkonen
 * @version 1.0
 */


import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Image;
import javax.swing.JPanel;


/**
 * Luokka <code>Kaupunki</code> on luokan
 * <code>JPanel</code> laajennus.
 * Kaupunki-olio sijoitetaan peli-ikkunan
 * alareunaan. Kaupungin kuvan olen piirtänyt
 * itse ohjelmalla Paint Shop Pro 8.01 
 * (sharewareversio).
 */
public class Kaupunki extends JPanel {
  
    /** Piirrettävä kuva. */
    private Image kuva;

    /** Kuvan leveys. */
    private int imageWidth = 0;

    /** Kuvan korkeus. */
    private int imageHeight = 0;

    /** Kapseloi kaupungin koon. */
    private Dimension dimensio;


    /**
     * Luo uuden kaupungin.
     */
    public Kaupunki() {

	// Määritetään kaupungin minimikoko
	// ja suosituskoko.
	dimensio = new Dimension(700,200);
	this.setMinimumSize(dimensio);
	this.setPreferredSize(dimensio);

	// Asetetaan komponentin taustaväriksi turkoosi.
	this.setBackground(new Color(0,255,255));

	// Alustetaan kuva tiedostosta "kaupunki.jpg".
	kuva = getToolkit().getImage("kaupunki.jpg");

    }   


    /**
     * Komponentin syrjäytettävä metodi, joka
     * piirtää kuvan. Kaksoispuskurointia ei tarvita,
     * koska kuva piirretään vain kerran, heti
     * peli-ikkunaa avattaessa.
     *
     * @param g grafiikkakonteksti, johon piirretään
     */
    public void paintComponent(Graphics g) {

	// Kutsutaan esi-isän metodia
	// <code>paintComponent(Graphics g)</code>.
	// Muuten komponentin tausta jää piirtämättä
	// (tosin tässä sillä ei ole kovin suurta
	// merkitystä, koska kuva täyttää koko
	// komponentin).
	super.paintComponent(g);

	// Piirretään kuva.
	g.drawImage(kuva,0,0,700,200,this);

    }

}


