mercoledì 31 dicembre 2008

Auguri di Un buon 2009 a Tutti!!!

Questo è un piccolo esercizio come ripasso di quello che è stato fatto da poco con l'intento di augurare un felice anno nuovo a tutti.
Freghi auguri a tutti!!!



import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.util.*;
import java.awt.geom.*;
import java.awt.Polygon;

public class AnnoNuovo{
int rotation=0;
int giro;
private Polygon poly;
private Polygon poly2;
private JFrame anno;
private PannelloAnno a;
private JButton accende;
private JButton spegne;
private JPanel pannelloBottoni=new JPanel(new GridLayout(2,1));
private java.util.Timer pallineAccese;
private int[] xpoints={0,-3,-10,-4,-7,0,7,4,10,3};
private int[] ypoints={-10,-3,-2,2,10,5,10,2,-2,-3};

private int[] zpoints={0,-5,-14,-6,-9,0,9,6,14,5};
private int[] jpoints={-14,-5,-2,2,13,7,13,2,-2,-5};

private int editX;
public AnnoNuovo(){
anno=new JFrame("Auguri di Buon Anno a tutti!!!");
anno.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
anno.setSize(600,600);
a=new PannelloAnno();
accende=new JButton("attiva animazione");
spegne=new JButton("disattiva animazione");
pannelloBottoni.add(accende);
pannelloBottoni.add(spegne);
anno.add(a,BorderLayout.CENTER);
anno.add(pannelloBottoni,BorderLayout.SOUTH);
accende.addActionListener(new BottoneAccende());
spegne.addActionListener(new BottoneSpegne());
anno.setVisible(true);
}

public class PannelloAnno extends JPanel{
public void paintComponent(Graphics g){
Graphics2D g2d=(Graphics2D) g;
Image annoImmagine=new ImageIcon("anno 2009.gif").getImage();
g.drawImage(annoImmagine,0,0,anno.getWidth(),anno.getHeight(),null);


g.setColor(getColore());
g.fillOval(245,355,18,18);//TAPPO SPUMANTE
g.setColor(getColore());
g.fillOval(100,465,18,18); //SPUMANTE
g.setColor(getColore());
g.fillOval(220,150,18,18); //artificio1
g.setColor(getColore());
g.fillOval(295,220,18,18); //OROLOGIO
g.setColor(getColore());
g.fillOval(370,220,18,18); //artificio2
g.setColor(getColore());
g.fillOval(430,200,18,18); //artificio3
g.setColor(getColore());
g.fillOval(515,133,18,18); //artificio4
g.setColor(getColore());
g.fillOval(335,100,18,18); //artificio5
g.setColor(getColore());
g.fillOval(562,312,10,10); //torre



poly=new Polygon(xpoints,ypoints,xpoints.length);
poly2=new Polygon(zpoints,jpoints,zpoints.length);
int ampiezza=getSize().width;
int altezza=getSize().height;

g2d.setColor(Color.RED);
g2d.drawString("BUON ANNO!!!",((ampiezza/2)-60)+editX,altezza-20);


g2d.translate(ampiezza/2,(altezza/2)-120);
g2d.scale(5,5);
g2d.rotate(Math.toRadians(rotation));
g2d.setColor(Color.YELLOW);

g2d.fill(poly);
g2d.fill(poly2);
g2d.setColor(Color.BLUE);
g2d.draw(poly);
g2d.draw(poly2);

}
}
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(verde,rosso,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(){
rotation+=2;
editX++;
anno.repaint();

}
});
}
},0,250);
}
}
public class BottoneSpegne implements ActionListener{
public void actionPerformed(ActionEvent event){
pallineAccese.cancel();
}
}
public static void main(String[] args){
AnnoNuovo anno=new AnnoNuovo();
}
}




Ecco a voi il programmino in funzione:



mercoledì 24 dicembre 2008

AUGURI DI BUON NATALE A TUTTI!!!!

Salve prof. auguri di buon natale e felice anno nuovo!!!
Saluti da Baldassarri!!!

venerdì 19 dicembre 2008

Albero di Natale con luci multicolore

Eccoci di nuovo ad inserire una nuova esercitazione in questo blog, che ormai stà diventando bello pienotto.
Questo esercizio sempre in java riguarda l'inserimento di un'immagine in una finestra, in uesto caso di un albero di Natale, dove poi verranno inserite delle forme geometriche rotonde che raffigureranno le nostre luci.
Mediante dei pulsanti inseriti nella finestra potremo controllare quando accenderle e qundo spegnerle!!!!
Buon divertimento, Buone Feste e Buon Natale!!!


/*Albero di Natale*/


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 di Natale 2008");
albero.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
albero.setSize(600,600);
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("decora.gif").getImage();
g.drawImage(alberoImmagine,0,0,albero.getWidth(),albero.getHeight(),null);


g.setColor(getColore());
g.fillOval(300,100,30,30); // fila centrale
g.setColor(getColore());
g.fillOval(300,200,30,30);
g.setColor(getColore());
g.fillOval(300,300,30,30);
g.setColor(getColore());
g.fillOval(300,400,30,30);
g.setColor(getColore());
g.fillOval(300,500,30,30);

g.setColor(getColore()); //fila sinistra
g.fillOval(250,150,30,30);
g.setColor(getColore());
g.fillOval(250,250,30,30);
g.setColor(getColore());
g.fillOval(250,350,30,30);
g.setColor(getColore());
g.fillOval(250,450,30,30);

g.setColor(getColore()); //fila sinistra
g.fillOval(200,200,30,30);
g.setColor(getColore());
g.fillOval(200,300,30,30);
g.setColor(getColore());
g.fillOval(200,400,30,30);
g.setColor(getColore());
g.fillOval(200,500,30,30);

g.setColor(getColore()); //fila sinistra
g.fillOval(150,250,30,30);
g.setColor(getColore());
g.fillOval(150,350,30,30);
g.setColor(getColore());
g.fillOval(150,450,30,30);

g.setColor(getColore()); //fila sinistra
g.fillOval(100,300,30,30);
g.setColor(getColore());
g.fillOval(100,400,30,30);
g.setColor(getColore());
g.fillOval(100,500,30,30);

g.setColor(getColore()); //fila destra
g.fillOval(350,150,30,30);
g.setColor(getColore());
g.fillOval(350,250,30,30);
g.setColor(getColore());
g.fillOval(350,350,30,30);
g.setColor(getColore());
g.fillOval(350,450,30,30);

g.setColor(getColore()); //fila destra
g.fillOval(400,200,30,30);
g.setColor(getColore());
g.fillOval(400,300,30,30);
g.setColor(getColore());
g.fillOval(400,400,30,30);
g.setColor(getColore());
g.fillOval(400,500,30,30);

g.setColor(getColore()); //fila destra
g.fillOval(450,350,30,30);
g.setColor(getColore());
g.fillOval(450,450,30,30);
g.setColor(getColore());
g.fillOval(450,550,30,30);

g.setColor(getColore()); //cappello babbonatale
g.fillOval(460,3,45,45);

}


}


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,500);
}
}
public class BottoneSpegne implements ActionListener{


public void actionPerformed(ActionEvent event){


pallineAccese.cancel();
}
}
public static void main(String[] args){


AlberoNatale albero=new AlberoNatale();
}
}



Ecco come dovrebbe essere il risultato:


venerdì 12 dicembre 2008

Esercizio per il 12/12/2008

Ecco l'esercizio datoci dal professore per stamattina...devo dire che mi è rimasto un pò difficile ma prendendo spunto dalle soluzioni date dai miei compagni ho compreso il corretto procedimento!!!




venerdì 5 dicembre 2008

Grafica JAVA 2°intervento



Salve a tutti...nn ho proprio voglia di fare nnt come al solito ma oggi in classe, dopo una lunga spiegazione dell'interfaccia delle classi astratte, abbiamo fatto nuove cose con la ormai nota programmazione ad oggetti.
Siccome mi ha colpito l'esercizio fatto in classe ho deciso di ripassarlo e anche ampliarlo se pur in maniera modesta, e quindi riproporlo a chiunque volesse consultarlo.
Ecco cosa si è fatto: ho dato sia una implementazione semplice, sia una un pò più complicata, entramb con l'aggiunta della sottrazione, oltre che alla somma già fatta in classe.


PIù SEMPLICE:

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class Finestra4 implements ActionListener{
JLabel l1=new JLabel("primo numero");
JLabel l2=new JLabel("secondo numero");
JTextField t1=new JTextField();
JTextField t2=new JTextField();
JButton b1=new JButton("+");
JButton b2=new JButton("-");
JTextField risultato=new JTextField();
JTextField risultato2=new JTextField();
public void creaForm1(){
JFrame finestra1=new JFrame("finestra2 somma-sottrazione Baldassarri");
finestra1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
finestra1.setSize(600,600);
finestra1.setLayout(new GridLayout(6,3));
finestra1.add(l1);
finestra1.add(t1);
finestra1.add(l2);
finestra1.add(t2);
finestra1.add(b1);
finestra1.add(b2);
finestra1.add(risultato);
finestra1.add(risultato2);
b1.addActionListener(this);
b2.addActionListener(this);
finestra1.setVisible(true);
}
public void actionPerformed(ActionEvent event){
String testo1=t1.getText();
String testo2=t2.getText();
int a=Integer.parseInt(testo1);
int b=Integer.parseInt(testo2);
int somma=a+b;
String r=Integer.toString(somma);
risultato.setText(r);

int sottrazione=a-b;
String r2=Integer.toString(sottrazione);
risultato2.setText(r2);
}

}


IL RISULTATO CHE AVRETE SARà QUESTO:








UN Pò PIù COMPLESSO:


import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class Finestra3 implements ActionListener{
JLabel l1=new JLabel("primo n-somma");
JLabel l2=new JLabel("secondo n-somma");
JLabel l3=new JLabel("primo n-sottrazione");
JLabel l4=new JLabel("secondo n-sottrazione");
JTextField t1=new JTextField();
JTextField t2=new JTextField();
JTextField t3=new JTextField();
JTextField t4=new JTextField();
JButton b1=new JButton("+");
JButton b2=new JButton("-");
JTextField risultato=new JTextField();
JTextField risultato2=new JTextField();
public void creaForm1(){
JFrame finestra1=new JFrame("finestra somma-sottrazione Baldassarri");
finestra1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
finestra1.setSize(600,600);
finestra1.setLayout(new GridLayout(6,3));
finestra1.add(l1);
finestra1.add(t1);
finestra1.add(l2);
finestra1.add(t2);
finestra1.add(l3);
finestra1.add(t3);
finestra1.add(l4);
finestra1.add(t4);
finestra1.add(b1);
finestra1.add(b2);
finestra1.add(risultato);
finestra1.add(risultato2);
b1.addActionListener(this);
b2.addActionListener(this);
finestra1.setVisible(true);
}
public void actionPerformed(ActionEvent event){
String testo1=t1.getText();
String testo2=t2.getText();
int a=Integer.parseInt(testo1);
int b=Integer.parseInt(testo2);
int somma=a+b;
String r=Integer.toString(somma);
risultato.setText(r);


String testo3=t3.getText();
String testo4=t4.getText();
int c=Integer.parseInt(testo3);
int d=Integer.parseInt(testo4);
int sottrazione=c-d;
String r2=Integer.toString(sottrazione);
risultato2.setText(r2);
}

}



IL RISULTATO CHE AVRETE SARà QUESTO:




----Ovviamente tutte queste istruzioni non funzioneranno mai da sole perchè nn è presente una main!!!!! Quindi avrete bisogno di un'altro file.java per eseguirlo.

basta solo cambiare il nome della classe a seconda del nome che avete dato sull'altro file dove sono presenti tutte le istrizioni (ad esempio: Finestra3.java ; TestaFinestra3.java)

public class TestaFinestra3{
public static void main(String[] args){
Finestra3 f=new Finestra3();
f.creaForm1();
}
}


Dopo questa lunga spiegazione io direi di chiudere......ALLA PROSSIMA CON NUOVI AGGIORNAMENTI!!!!!

lunedì 1 dicembre 2008

Prime Implementazioni GRAFICHE in JAVA

Eccomi sono sempre io..........
Oggi in classe abbiamo iniziato a studiare come si lavoro nella grafica con JAVA, e questo è il primo assaggio di cosa si può fare con questo linguaggio di programmazione.
Sarà un'esercizio molto semplice, che riguarda solamente il fatto di applicare delle semplice istruzioni per creare una finestra su windows!!!
Ecco a voi le istruzioni......


/*Finestra1*/

import javax.swing.*;
public class Finestra1{

public void creaForm1(){

JFrame finestra1=new JFrame("finestra1 IVL");
finestra1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
finestra1.setSize(1000,1000);
finestra1.setVisible(true);

}

}



/*TestaFinestra*/


public class TestaFinestra{

public static void main(String[] args){

Finestra1 f=new Finestra1();
f.creaForm1();

}

}


Il risultato che otterrete sarà semplice ma concreto, una normale finestra di windows, come titolo "finestra1 IVL", e di larghezza e altezza "1000"(pixel ovvio)!!!
Ciao a tutti a presto!!!