Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2011
    Messaggi
    16

    GridLayout non funzionante

    Salve a tutti, ho un problema con il GridLayout che dovrebbe aggiungermi ImageCode in orizzontale invece me li aggiunge in verticale, vi posto il pezzo di codice:

    codice:
            contenitoreCGPS.setLayout(new GridLayout(10,numPosti));
            contenitoreCGPG.setLayout(new GridLayout(10,numPosti));
    
             for(int i=(tentativo*numPosti);i<(tentativo+1)*numPosti;i++)
                {
                    if( scelte[i].getIcon().toString().equals(segreto[i % numPosti]))
                    {
                        contenitoreCGPG.add(new JLabel ("", new ImageIcon ("src/RedB.png"),           SwingConstants.CENTER));
                    }
                    else
                    {
                        if (insieme.contains(scelte[i].getIcon().toString()))
                        {
                            contenitoreCGPS.add(new JLabel ("", new ImageIcon ("src/WhiteB.png"), SwingConstants.CENTER));
                        }
                       
                    }
    
                }

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: GridLayout non funzionante

    Originariamente inviato da ste_04
    il GridLayout che dovrebbe aggiungermi ImageCode in orizzontale invece me li aggiunge in verticale
    In GridLayout i componenti vengono man mano disposti da sinistra->destra/alto->basso (se il component orientation è Left-to-Right, il caso più comune) o da destra->sinistra/alto->basso (se il component orientation è Right-to-Left).

    numPosti quanto vale?
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2011
    Messaggi
    16
    num Posti varia da 4 a 8 in base alla difficoltà del gioco scelta, ho provato a mettere anche left-to-right ma me lo ignora totalmente

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,326
    Se stai usando GridLayout come LayoutManager, la forma del metodo "add()" da usare è quella con 1 solo argomento, non con 2: non hai alcun constraint da specificare:

    codice:
    tuoPannello.add( tuoComponente );
    Tu, invece, stai usando il metodo con 2 argomenti: componente e constraint:

    codice:
    tuoPannello.add(componente, SwingConstant.CENTER);
    Ora, a parte il fatto che SwingConstant.CENTER si usa per altri scopi... cosa vuoi fare con quel secondo parametro completamente inutile/sbagliato?

    Secondo: se supponiamo che numPosti sia 4, la seguente istruzione

    codice:
    contenitoreCGPS.setLayout(new GridLayout(10,numPosti));
    Crea una griglia di 10 righe e 4 colonne.
    Ciascuna add(), come già detto da andbin, aggiunge i componenti da sinistra verso destra (quindi "per riga"). E' chiaro che se effettui 4 add, riempirai la prima riga, non la prima colonna.


    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
    Utente di HTML.it
    Registrato dal
    Mar 2011
    Messaggi
    16
    Grazie!

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2011
    Messaggi
    16
    Scusami LeleFT ma ho provato ad apportare il cambiamento e me lo ignora continua a mettermeli in verticale, non capisco perchè!

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.