sabato 13 dicembre 2008

Finestra cambio colore casuale (verde=spiegazione)

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class Grafica1 implements ActionListener {
private JFrame f; //finestra principale
private Pannello1 p; //pannello
private JButton b1; //bottone e il relativo nome
public Grafica1(){
f=new JFrame("prova pannello"); //creo il JFrame
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
/*dimensioni*/f.setSize(300,300);
b1= new JButton("cambia colore in modo casuale");
b1.addActionListener(this);
f.setLayout(new GridLayout(2,1));
p=new Pannello1();
f.add(b1);
f.add(p);
f.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);
Color colore=new Color(rosso,verde,blu);
g2D.setColor(colore);
g2D.fillOval(0,0,70,70); /*che riempe l'ovale*/
} //chiuso metodo
} //chiuso classe
public static void main(String[] args){
Grafica1 g1= new Grafica1(); //eseguo il metodo costruttore
}
}

Il risultato finale sarà una finestra di questo tipo e premendo il bottone, per l'appunto, si cambia il colore della finestra in modo casuale:


2 commenti:

didatticaNatalizi ha detto...

Prova ad implementare il metodo actionPerformed() per attivare il bottone. Guarda a come hanno fatto Di Bari e Montagnoli

Andry22 ha detto...

Ok prof, grazie del suggerimento. In effetti mancava l'ActionListener che attivasse il bottone...ora credo che sia a posto cmq...