sabato 27 dicembre 2008

Ecco l'albero di natale con le lucine

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.util.*;
public class AlberoNatale {private JFrame albero;
private PannelloAlbero a;
private JButton accende;
private JButton spegne;
private JPanel pannelloBottoni=new JPanel(new GridLayout(2,1));
private java.util.Timer pallineAccese;
public AlberoNatale(){albero=new JFrame("Albero del Santo Natale 2008");
albero.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
albero.setSize(500,500);
a=new PannelloAlbero();
accende=new JButton("accendi le lampadine");
spegne=new JButton("spegni le lampadine");
pannelloBottoni.add(accende);
pannelloBottoni.add(spegne);
albero.add(a,BorderLayout.CENTER);
albero.add(pannelloBottoni,BorderLayout.SOUTH);
accende.addActionListener(new BottoneAccende());
spegne.addActionListener(new BottoneSpegne());
albero.setVisible(true);
}public class PannelloAlbero extends JPanel{
public void paintComponent(Graphics g){
Graphics g2d=(Graphics2D) g;
Image alberoImmagine=new ImageIcon("AlberoNatale[1].jpg").getImage();
g.drawImage(alberoImmagine,0,0,albero.getWidth(),albero.getHeight(),null);
g.setColor(getColore());
g.fillOval(200,200,30,30);
g.setColor(getColore());
g.fillOval(300,200,30,30);
g.setColor(getColore());
g.fillOval(150,300,30,30);
g.setColor(getColore());
g.fillOval(250,250,30,30);
g.setColor(getColore());
g.fillOval(350,300,30,30);

}
}
private Color getColore(){
int verde=(int) (Math.random()*255);
int rosso=(int) (Math.random()*255);
int blu=(int) (Math.random()*255);
Color colore=new Color(rosso,verde,blu);
return colore;
}

public class BottoneAccende implements ActionListener{
public void actionPerformed(ActionEvent event){
pallineAccese=new java.util.Timer();
pallineAccese.schedule(new TimerTask(){
public void run(){
SwingUtilities.invokeLater(new Runnable(){
public void run(){
albero.repaint();
}
});
}
},0,200);
}
}

public class BottoneSpegne implements ActionListener{
public void actionPerformed(ActionEvent event){
pallineAccese.cancel();
}
}
public static void main(String[] args){
AlberoNatale albero=new AlberoNatale();

}

}

Nessun commento:

Posta un commento