Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di HaCk88
    Registrato dal
    May 2005
    Messaggi
    193

    [Java] Organizzazione Interfaccia

    Salve a tutti ragazzi.
    Voglio porre alcune domande che mi si stanno formulando durante lo studio della grafica in java.
    Sto vedendo che ci sono molte strutture tra cui JPanel, JButton, JScrollPane, JCheckBox,... ma quando creiamo una interfaccia come faccio a disporre gli oggetti grafici in maniera organizzata?? Se ogni funzione o procedura può essere contenuta in un file diverso dal file principale e successivamente richiamata ad esempio da un bottone o qualsiasi oggetto grafico interattivo?? Se si possono creare degli eseguibili con il proprio setup???
    Per ora ho queste domande da porre

    Grazie

  2. #2
    Per quanto riguarda gli eseguibili in java devi creare dei file .jar che non sono devi veri e proprio .exe però l'effetto è lo stesso cioè lanciare le applicazioni con un clic del mouse.
    Per quanto riguarda la disposizione dei componenti all'interno delle gui semplicemente ci sono dei layout (ce ne sono di diverso tipo) appositi...(guarda sulla documentazione il layout manager).
    Per esempio c'è il GridLayout(int a, int b) che rappresenta una griglia di a righe e b colonne e tu tramite l'ordine in cui scrivi gli add inserisci i componenti (tipo bottoni ecc..) nelle varie caselle della griglia...

    Era questo che ti serviva sapere??

    Ciao.
    Si può vincere o perdere, l'importante è vincere o perdere da uomini...

    Neverland - Il mio Forum

  3. #3
    Utente di HTML.it L'avatar di HaCk88
    Registrato dal
    May 2005
    Messaggi
    193
    Si! In generale si! perchè quando creo un piccolo programmino con due bottoni non so proprio come posizionarlo in una zona precisa dello schermo

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Ecco... a questo riguardo, per poter posizionare i componenti in posizione precise all'interno della finestra (posizionamento libero tramite coordinate) bisogna svincolarsi dal LayoutManager.
    Questa soluzione agevola la scrittura di applicazioni che devono girare sempre sulla stessa piattaforma, rendendole più maneggevoli, ma, dall'altro lato, rappresenta una sorta di incognita per tutte le applicazioni che devono essere portate su sistemi diversi. I LayoutManager, infatti, sono stati progettati appositamente per "garantire" lo stesso aspetto delle applicazioni su sistemi differenti.

    Per svincolarsi dal LayoutManager è sufficiente settarlo a null:
    codice:
    // Nel costruttore della finestra (Swing)
    getContentPane().setLayout(null);
    
    // Nel costruttore della finestra (AWT)
    setLayout(null);
    A questo punto, tutti i componenti dovranno essere sistemati a mano, facendo uso del loro metodo setBounds() che ha questa firma:
    codice:
    public void setBounds(int posX, int posY, int larghezza, int altezza)
    Ecco un esempio che posiziona una JLabel in alto a sinistra nella finestra e ne imposta la dimensione a 80x20
    codice:
    JLabel lbl = new JLabel("La JLabel");
    lbl.setBounds(5, 5, 80, 20);   // 5 pixel a destra e 5 pixel in basso
                                   // rispetto all'angolo in alto a sinistra
    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  5. #5
    quando ad esempio crei un JPanel di default ti usa un layout che ti piazza tutto accanto al altro...per cambiarlo devi fare così:

    Supponiamo di voler utilizzare il GridLayout(int a, int b) che ti ho detto sopra.

    codice:
    JPanel p = new JPanel(new GridLayout(2,2));
    
    p.add(bottone);  <-- mette nella casellina 1 - 1
    p.add(bottone);  <-- mette nella casellina 1 - 2
    p.add(bottone);  <-- mette nella casellina 2 - 1
    p.add(bottone);  <-- mette nella casellina 2 - 2
    (Immaginati una griglia di 2 per 2)

    Ciao.
    Si può vincere o perdere, l'importante è vincere o perdere da uomini...

    Neverland - Il mio Forum

  6. #6
    Utente di HTML.it L'avatar di HaCk88
    Registrato dal
    May 2005
    Messaggi
    193
    Ok Grazie ad entrambi
    Mi dispiace solo che io non posso aiutare voi perchè sono ancora un principiante
    Spero vi possa essere di aiuto in casi piccoli per ora! Forse se riesco ad imparare bene il Java un giorno potrei esservi un pò di aiuto

  7. #7
    chi vivrà vedrà...
    Si può vincere o perdere, l'importante è vincere o perdere da uomini...

    Neverland - Il mio Forum

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.