Ciao a tutti, sto seguendo una guida su Java e giunto all' ultimo capitolo pensavo di aver capito quasi tutto quando mi si presenta questo codice:
codice:
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JFrame;
public class GraphicsDemo extends JFrame{ 
	   public GraphicsDemo(){
		   setTitle("GraphicsDemo with Kilobolt");
		   setSize(800,480);
		   setVisible(true);
		   setDefaultCloseOperation(EXIT_ON_CLOSE);
		}
	   public void paint(Graphics r){
		    r.setColor(Color.YELLOW);
		    r.fillRect(0,0,800,480);
		    r.setColor(Color.BLUE);
		    r.drawRect(0, 0, 100, 250);
		    r.drawRect(0, 0, 102, 252);    
		    r.setColor(Color.DARK_GRAY);
		    r.drawRect(0, 0, 104, 254);
		    r.drawString("CIAO", 10, 45);
		 }
    public static void main(String args[]){
      GraphicsDemo demo = new GraphicsDemo();
    }
}
Dunque quello che ho capito è che si importano 3 classi (o pacchetti ?), quali Color, JFrame e Graphics. Si crea una classe "GraphicsDemo" nel quale c' è un metodo per la creazione di una finestra 800x480. Poi c' è il classico metodo main nel quale si dichiara un nuovo oggetto che è del tipo GraphicsDemo (quindi ha tutti gli attributi e i metodi della classe) e poi c' è la dichiarazione di un metodo che non ho ben capito come funziona, ossia quel "public void paint(Graphics r){...}". Allora da quello che sono riuscito a capire è che si crea un oggetto "r" che fa parte della classe Graphics, ma il metodo paint come funziona? da dove lo prendo? com' è possibile che Java capisce che tutto quello che disegno in "r" va a finire nella finestra realizzata con "public GraphicsDemo(){...}" ? Scusate se è una domanda forse banale, ma davvero non la capisco, e il tutorial è in inglese quindi forse non ho ben capito io ed è più semplice di quello che appare. Grazie.