martedì 16 dicembre 2008

ALBERO DI NATALE

LUCI SPENTE:

LUCI ACCESE:


Codice:

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 int on_off=0;
  private java.util.Timer pallineAccese;
  public AlberoNatale(){
  albero=new JFrame("Albero 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("albero.jpg").getImage();
  g.drawImage(alberoImmagine,0,0,albero.getWidth(),albero.getHeight(),null);
  //prima fila
  g.setColor(getColore());
  g.fillOval(250,350,25,25);
  g.setColor(getColore());
  g.fillOval(250,300,25,25);
  g.setColor(getColore());
  g.fillOval(250,250,25,25);
  g.setColor(getColore());
  g.fillOval(250,200,25,25);
  g.setColor(getColore());
  g.fillOval(250,150,25,25);
  g.setColor(getColore());
  g.fillOval(250,100,25,25);
  g.setColor(getColore());
  g.fillOval(250,60,25,25);
  //seconda fila
  g.setColor(getColore());
  g.fillOval(200,350,25,25);
  g.setColor(getColore());
  g.fillOval(200,300,25,25);
  g.setColor(getColore());
  g.fillOval(200,250,25,25);
  g.setColor(getColore());
  g.fillOval(200,200,25,25);
  g.setColor(getColore());
  g.fillOval(200,150,25,25);
  g.setColor(getColore());
  g.fillOval(200,100,25,25);
   
  //tersa fila
  g.setColor(getColore());
  g.fillOval(150,350,25,25);
  g.setColor(getColore());
  g.fillOval(150,300,25,25);
  g.setColor(getColore());
  g.fillOval(150,250,25,25);
  g.setColor(getColore());
  g.fillOval(150,200,25,25);
   
  //quarta fila
  g.setColor(getColore());
  g.fillOval(100,350,25,25);
  g.setColor(getColore());
  g.fillOval(100,300,25,25);

  //quinta fila
  g.setColor(getColore());
  g.fillOval(300,350,25,25);
  g.setColor(getColore());
  g.fillOval(300,300,25,25);
  g.setColor(getColore());
  g.fillOval(300,250,25,25);
  g.setColor(getColore());
  g.fillOval(300,200,25,25);
  g.setColor(getColore());
  g.fillOval(300,150,25,25);
  g.setColor(getColore());
  g.fillOval(300,100,25,25);
   
  //tersa fila
  g.setColor(getColore());
  g.fillOval(350,350,25,25);
  g.setColor(getColore());
  g.fillOval(350,300,25,25);
  g.setColor(getColore());
  g.fillOval(350,250,25,25);

   
  //quarta fila
  g.setColor(getColore());
  g.fillOval(400,350,25,25);
  g.setColor(getColore());
  g.fillOval(400,300,25,25);


   

  }
  }
  private Color getColore(){
  if(on_off==1){
  int verde=(int)(Math.random()*225);
  int rosso=(int)(Math.random()*225);
  int blu=(int)(Math.random()*225);
  Color colore=new Color(rosso,blu,verde);
  return colore; 
  }
  else
  {
  Color colore=new Color(0,0,0);
  return colore;  
  }
  }
   
  public class BottoneAccende implements ActionListener{
   
  public void actionPerformed(ActionEvent event){
  if (on_off==0){
  on_off=1;
  pallineAccese=new java.util.Timer();
  pallineAccese.schedule(new TimerTask(){
  public void run(){
  SwingUtilities.invokeLater(
  new Runnable(){
  public void run(){
  albero.repaint();
  } 
  });
  }
  },0,500);
  }
  }

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

venerdì 12 dicembre 2008


/**

 * Write a description of class vitevol here.
 * 
 * @author (Gabriele Di Bari) 
 * @version (v1)
 */

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class Grafica1 implements ActionListener {
  private JFrame frame;
  private Pannello1 p;
  private JButton b1;
   
   
  public Grafica1(){
  frame=new JFrame("prova pannello");
  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  frame.setSize(220,440);
  b1=new JButton("cambia colore casualmente");
  b1.addActionListener(this);
  frame.setLayout(new GridLayout(2,1));
  p=new Pannello1();
  frame.add(p);
  frame.add(b1);
  frame.setVisible(true);

}
  public class Pannello1 extends JPanel {
  public void paintComponent(Graphics g){
  Graphics2D g2D=(Graphics2D) g;
  int verde=(int) (Math.random()*255);
  int rosso=(int) (Math.random()*255);
  int blu=(int) (Math.random()*255);
  //sfondo
  int x=getSize().width;
  int y=getSize().height;
  g2D.setColor(Color.white);
  g2D.fillRect(0,0,x,y);
  //
  Color colore=new Color(rosso,verde,blu);
  g2D.setColor(colore);
  g2D.fillOval(0,0,x,y);
  }
  }
   

  public void actionPerformed(ActionEvent event) {
   
  p.repaint();
   
  }
   
  public static void main(String[] args){
  Grafica1 g1=new Grafica1();
  }

}

mercoledì 3 dicembre 2008

Test olimpiadi di informatica

mi sono esercitato con gli esercizi dati dal prof nata sulle ollimp. del 2007

(Premetto ne ho saltate 2)

ecco le mie risposte:


Esercizio 1
X=15
Y=5

Esercizio 2
totale sacchi dei somari 6

Esercizio 3
erano 10 noci


esercizio 4
il numero della sucessione è 935

esercizio 5
ha 3 figli 2 femmine e 1 maschio


esercizio 6
è largo 1200 metri


esercizio 7
è giovedì

esercizio 8

se è un rettangolo allora 8

se è anche un quadrato allora 9 (ma dice che è un rettangolo quindi.....)


esercizio 9
sono 381

esercizio 10

saltato



esercizio 1 prog

è la d

esercizio 2 prog.

è la b

esercizio 3 prog.

è la c

esercizio 4 prog.

è la a

esercizio 5 prog.

è la a

esercizio 6 prog.

è la b

esercizio 7 prog.

saltato


esercizio 8 prog.

è la c


esercizio 9 prog.

è la b




Tempo messo : 1 ora e 30 minuti

martedì 2 dicembre 2008

Creare una finestra in java

Creare una finestra in java
CODICE:

_________________________________________

Finestra.java
_________________________________________


import javax.swing.*;
/**
* Write a description of class Finestre here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class Finestra
{
JFrame finestra;

public Finestra(String f_nome,int x,int y)
{
finestra=new JFrame(f_nome);
finestra.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
finestra.setSize(x,y);
finestra.setVisible(true);
}
public void setSize(int x,int y){
finestra.setSize(x,y);
}
public void visualizza(){
finestra.setVisible(true);
}
public void nascondi(){
finestra.setVisible(false);
}



}

_________________________________________

TestaFinestra.java
_________________________________________

public class TestaFinestra
{
public static void main(String[] args){
Finestra c1=new Finestra("F1",500,200);
/* c1.setSize(800,600); metodo in piu' */
}
}