Visualizzazione dei risultati da 1 a 6 su 6

Discussione: [java]JFrame, static??

  1. #1

    [java]JFrame, static??

    Cosa differisce la creazione di un JFrame()
    prima dell'intestazione del "main(string argv[])"(quindi static)
    o al suo interno(quindi senza static)??

    //static JFrame j = new JFrame();//o qui??

    public class JFrameExample {
    public static void main(String argv[]){
    JFrame j = new JFrame(); //o qui??
    j.setTitle("JFrameExample");
    j.setBounds(10,10,300,200);
    j.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE );
    j.setVisible(true);
    }
    }
    Nulla, ma e' sempre qualcosa.

  2. #2
    Nessuno ti obbliga a usare static in quel punto.
    Se lo usi, la differenza e' che l'oggetto dichiarato diventa statico, ossia allocato staticamente.
    Ogni oggetto della tua classe "JFrameExample" condividera' la stessa copia dell'oggetto statico (in questo caso un JFrame)
    In pratica: come e' scritto adesso, ogni istanza di "JFrameExample" contiene un riferimento (un puntatore) ad un JFrame j diverso.
    Se invece usi static, tutte le istanze della classe punteranno allo stesso JFrame.
    Non solo, un'altra classe, che importa al suo interno "JFrameExample" potra' accedere al suo membro j senza dover dichiarare alcun oggetto, usando la notazione JFrameExample.j (questo perche' j e' unico e condiviso da tutti i "JFrameExample", percio' viene creato non appena la classe viene caricata... o giu' di li'!)

    Spero di non aver scritto troppe cazzate... :rollo:

  3. #3
    No hai perfettamente ragione
    per accedere alla finestra fuori dalla mia classe
    non hai bisogno di istanziare la finestra(JFrame)
    la mia era una curiosita' sintattica perche'
    l'ho visto farla in entrambi i modi!!
    bhe spero di non aver detto io una cazzata....:-)))
    ciao
    Nulla, ma e' sempre qualcosa.

  4. #4
    Se il frame e' statico, ogni classe puo' accedervi senza neanche avere un riferimento alla classe principale. Gli basta sapere il suo nome.
    Ciao!

  5. #5
    Ok ok!!Basta che non ti arrabbi
    purtoppo e' da poco che ho iniziato...
    ciao ciao
    Nulla, ma e' sempre qualcosa.

  6. #6

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 © 2025 vBulletin Solutions, Inc. All rights reserved.