import java.awt.Color; import javax.swing.BorderFactory; import javax.swing.ImageIcon; import javax.swing.JButton; /** * Luokka Nappi, joka periytyy luokasta JButton. Luokan * konstruktoreissa voidaan luoda nappeja tekstillä, ikonilla * tai numerolla niin, että konstruktori muuttaa suoraan * numeron ikoniksi. Piirrä-metodi määrittelee kaikille Nappi- * luokan napeille samanlaisen ulkoasun (Asetusdialogia * lukuunottamatta). * @author Karoliina Tiuraniemi * @version 1.0, 18.1.2009 */ public class Nappi extends JButton { private static final long serialVersionUID = 1L; private ImageIcon ikoni; /** * Ylikirjoitettu konstruktori, joka asettaa parametrina * olevan tekstin napin tekstiksi. * @param teksti */ public Nappi(String teksti){ this.setText(teksti); } /** * Ylikirjoitettu konstruktori, joka asettaa parametrina * olevan ikonin napin ikoniksi. * @param ikoni */ public Nappi(ImageIcon ikoni){ this.ikoni = ikoni; } /** * Ylikirjoitettu konstruktori, joka ottaa parametrina * olevan numeron, muuntaa sen kuvaksi ja asettaa kuvan * napin ikoniksi. * @param numero */ public Nappi(int numero){ this.ikoni = new ImageIcon(Kuvamuunnokset.muutaNumeroKuvaksi (numero)); } /** * Metodi, joka piirtää napin vihreäksi, määrittelee sen * rajan mustaksi ja poistaa ikonin ympäriltä fokuksen kun * nappi on valittu default-napiksi. */ public void piirra(){ this.setBackground(Varit.VIHREA); this.setBorder(BorderFactory.createLineBorder(Color.BLACK)); if (this.ikoni != null){ this.setIcon(this.ikoni); this.setFocusPainted(false); } } }