Visualizzazione dei risultati da 1 a 10 su 14

Hybrid View

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2012
    Messaggi
    442
    Ma come posso creare un numero di pulsanti che dipende da una variabile numerica?
    Ad esempio una cosa tipo:

    for (int i=1; i<=tablesNumber; i++) {
    button= new JButton();
    }

    Immagino che non vada bene perché così ogni pulsante si chiamerebbe button... io invece dovrei avere una cosat ipo button1, button2, etc...
    Il dato da "incapsulare" in ogni pulsante è un semplice numero intero. Quindi va bene che button1 porti con sé il valore 1, button2 il 2 etc... niente di trascendentale insomma.
    La disposizione va bene in griglia.

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da Jamie04 Visualizza il messaggio
    Immagino che non vada bene perché così ogni pulsante si chiamerebbe button...
    Non centra qui tanto il nome della variabile!

    Quote Originariamente inviata da Jamie04 Visualizza il messaggio
    io invece dovrei avere una cosat ipo button1, button2, etc...
    No, come minimo con un array (o al limite collezione List). Chiaramente solo se hai bisogno di referenziare successivamente il pulsante i-esimo ... cosa che comunque non è nemmeno detto che sia necessaria.

    Quote Originariamente inviata da Jamie04 Visualizza il messaggio
    La disposizione va bene in griglia.
    GridLayout o GridBagLayout, quale dei due dipende dai criteri esatti di dimensionamento e "spartizione" dello spazio che è necessario.
    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
    Sep 2012
    Messaggi
    442
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Non centra qui tanto il nome della variabile!
    In che senso?


    Quote Originariamente inviata da andbin Visualizza il messaggio
    No, come minimo con un array (o al limite collezione List). Chiaramente solo se hai bisogno di referenziare successivamente il pulsante i-esimo ... cosa che comunque non è nemmeno detto che sia necessaria.
    Io voglio solo che i pulsanti vengano visualizzati e che sia possibile cliccarci sopra per aprire la stessa schermata passando però un valore numerico diverso per ogni pulsante cliccato.
    Ad esempio clicco sul pulsante Tavolo1, mi si deve aprire la finestra Ordinazioni e l'ordinazione da generare (dati che vengono salvati in un db) deve riferire Tavolo1, se clicco Tavolo2 lo stesso però l'ordinazione deve riferire Tavolo2 etc...
    Quindi l'array mi serve o no?

    Quote Originariamente inviata da andbin Visualizza il messaggio
    GridLayout o GridBagLayout, quale dei due dipende dai criteri esatti di dimensionamento e "spartizione" dello spazio che è necessario.
    La finestra deve dimensionarsi a seconda del numero di pulsanti che deve contenere.

    Grazie

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da Jamie04 Visualizza il messaggio
    In che senso?
    Che non devi "fissarti" sul fatto che la variabile (se non usi un array) è una sola .... perché magari serve solo come variabile temporanea.
    Spiego con esempio abbozzato:

    codice:
    for (int i = 0; ................) {
        JButton button = new JButton( .....etichetta..... );
        int dato = ..........;
        button.addActionListener(new MyActionListener(dato));
        pannello.add(button);
    }

    Anche se la variabile 'button' (e 'dato') è una sola e ad ogni ciclo ha un reference ad un nuovo JButton, non importa qui. Quello che importa è aver agganciato il pulsante al suo listener con il suo dato e aver inserito il pulsante nel pannello (che potrebbe avere es. un GridLayout).

    Certo, qui non ho usato un array, quindi successivamente non puoi fare: "voglio il JButton i-esimo" ma .... magari non ti serve nemmeno visto che tutto è incapsulato/agganciato a dovere (ogni JButton ha il suo oggetto listener e ognuno di questi ha il suo dato).

    Quote Originariamente inviata da Jamie04 Visualizza il messaggio
    Quindi l'array mi serve o no?
    Non necessariamente ... e visto lo scenario che hai descritto, direi di no.

    Quote Originariamente inviata da Jamie04 Visualizza il messaggio
    La finestra deve dimensionarsi a seconda del numero di pulsanti che deve contenere.
    Sì, però se vuoi una griglia devi stabilire alcune cose: cosa imponi? il numero di colonne? o di righe? o è in base al numero di pulsanti? (es. cose particolari tipo: fino a 9 usi 3 colonne, fino a 16 usi 4 colonne, ecc....)
    Cerca di precisare, se vuoi risposte o comunque avere chiaro cosa vuoi ottenere.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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