Visualizzazione dei risultati da 1 a 8 su 8

Discussione: [java] paint

  1. #1

    [java] paint

    Ho il seguente codice:
    codice:
    public class ShowColors extends JFrame {   
       public ShowColors()
       {
          super( "Using colors" );
    
          setSize( 600, 300 );
          setVisible( true );
       }
    
       
       public void paint( Graphics g )
       {
          // chiama il metodo paint della superclasse
          super.paint( g );      
          g.setColor( new Color( 255, 0, 0 ) );
          g.fillRect( 25, 25, 100, 20 );
          g.drawString( "Current RGB: " + g.getColor(), 130, 45 );
    
          
       } 
       
       public static void main( String args[] )
       {
          ShowColors application = new ShowColors();
          application.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
       }
    
    }
    Chi mi puo' spiegare con esattezza questo codice?
    Cosa avviene quando al metodo paint gli viene passato
    l'argomento g di tipo Graphics ?
    Chi gli passa tale argomento??

    Che significa super.paint( g ), super a quale classe si riferisce??

    AIUTO VVoVe:
    Nulla, ma e' sempre qualcosa.

  2. #2
    Cosa avviene quando al metodo paint gli viene passato
    l'argomento g di tipo Graphics ?
    In che senso?

    Chi gli passa tale argomento??
    Di solito il metodo repaint()

    Che significa super.paint( g ), super a quale classe si riferisce??
    Chiamata della funzione omonima della superclasse, in questo caso JFrame.
    Quando estendi una classe, mica il codice vecchio lo vuoi buttare? Si ricicla tutto!!!
    Folle e' l'uomo che parla alla luna.
    Stolto chi non le presta ascolto.

  3. #3
    public void paint(Graphics g);
    Questo metodo e' ereditato da Component e l'argomento
    Graphics gli viene passato dal sistema.

    super.paint(g);
    invece chiama il metodo della superclasse
    in questo caso JFrame??
    Giusto??
    Nulla, ma e' sempre qualcosa.

  4. #4
    Si giusto lo hai detto prima
    Nulla, ma e' sempre qualcosa.

  5. #5
    Ma JFrame da chi lo eredita questo metodo??
    Component??Frame??Window??
    Ho provato a ceercare ma niente...
    Nulla, ma e' sempre qualcosa.

  6. #6
    JFrame eredita da Frame che eredita da Window che eredita da Container
    Folle e' l'uomo che parla alla luna.
    Stolto chi non le presta ascolto.

  7. #7
    Originariamente inviato da maurizio2
    Ma JFrame da chi lo eredita questo metodo??
    Component??Frame??Window??
    Ho provato a ceercare ma niente...
    Puoi usare questo motore di ricerca, presupponendo che abbia la JDK 1.5
    http://java.sun.com/j2se/1.5.0/search.html

    se prendi per esempio la classe JFrame
    http://java.sun.com/j2se/1.4.2/docs/...ng/JFrame.html

    vedi a un certo punto
    Methods inherited from class java.awt.Component

    di solito la documentazione basta e dovrebbe essere così, cioè quando si fa il design di una classe, si cerca il più possibile di nascondere i dettagli implementativi, in questo caso chi e come invoca il repaint()

    un articolo utile sul Painting in AWT e Swing
    http://java.sun.com/products/jfc/tsc...ing/index.html

    però nulla ti vieta di andare a sbirciare nei sorgenti e vedere come viene implementato il metodo repaint() nella classe Component

    ora non ricordo se i sorgenti sono inclusi nel JDK

    puoi comunque scaricarli a parte qui
    http://java.sun.com/j2se/jrl_download.html

  8. #8
    Grazie!!
    Ora mi metto in cerca!!
    Nulla, ma e' sempre qualcosa.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.