Visualizzazione dei risultati da 1 a 10 su 10

Discussione: Array

  1. #1

    Array

    Salve a tutti, qualcuno è in grado di spiegarmi come posso gestire un array di bottoni, nel senso volendo fare un interfaccia in cui va inserito un certo numero di bottoni, se li inserisco ad uno ad uno non ci sono problemi, ma ovviamente se devo inserirne un numero elevato non posso farlo singolarmente, quindi avevo pensato di usare un array ma scrivendo il codice non funziona. Chi mi sa dire come fare? Grazie

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,254
    Quote Originariamente inviata da Gaucho10 Visualizza il messaggio
    volendo fare un interfaccia in cui va inserito un certo numero di bottoni, se li inserisco ad uno ad uno non ci sono problemi, ma ovviamente se devo inserirne un numero elevato non posso farlo singolarmente, quindi avevo pensato di usare un array ma scrivendo il codice non funziona. Chi mi sa dire come fare?
    Ci sono alcune questioni prima da valutare. Ne devi inserire un numero elevato ... per quale motivo? Il numero è elevato ma fisso oppure cambia in base a qualcosa?
    Poi questi pulsanti cosa devono fare? Devono fare la stessa cosa concettuale ma con parametri/dati differenti ... o devono fare cose abbastanza/molto diverse?
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  3. #3
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Il numero è elevato ma fisso oppure cambia in base a qualcosa?
    Poi questi pulsanti cosa devono fare? Devono fare la stessa cosa concettuale ma con parametri/dati differenti ... o devono fare cose abbastanza/molto diverse?
    Il numero dei bottoni è fisso e sono 64, è una matrice 8x8.
    Sostanzialmente i bottoni non devono fare nulla, sono semplicemente un piano di una scacchiera, non so se è il modo più corretto di farlo, ora dopo un po' di lavoro sopra sono riuscito a costruirli con due cicli for però mi trovo di fronte il problema del colore, sai per caso come si fa per colorarli? ho provato con il metodo setBackground ma non mi colora alcunchè.

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,254
    Quote Originariamente inviata da Gaucho10 Visualizza il messaggio
    sono semplicemente un piano di una scacchiera, non so se è il modo più corretto di farlo
    Presumo un gioco .... comunque no, non è propriamente il massimo usare pulsanti. Dipende cosa ci devi visualizzare (immagini dei pezzi, presumo) ma a quel punto sarebbe meglio un componente personalizzato (es. estensione di JComponent o JPanel).

    Quote Originariamente inviata da Gaucho10 Visualizza il messaggio
    mi trovo di fronte il problema del colore, sai per caso come si fa per colorarli? ho provato con il metodo setBackground ma non mi colora alcunchè.
    I pulsanti hanno "molta" grafica predefinita: il bordo, lo sfondo (tipicamente un gradiente nel L&F Metal), il bordino (tratteggiato) del focus se c'è testo/icona.
    Si possono alterare ma dovresti leggere meglio la documentazione javadoc di JButton. Comunque se scegli un altro approccio è sicuramente meglio.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  5. #5
    Quote Originariamente inviata da andbin Visualizza il messaggio
    non è propriamente il massimo usare pulsanti. Dipende cosa ci devi visualizzare (immagini dei pezzi, presumo) ma a quel punto sarebbe meglio un componente personalizzato (es. estensione di JComponent o JPanel).
    .
    Allora tu mi consigli di farlo in modo diverso, e come potrei fare una scacchiera usando i JPanel?
    E le pedine all'interno come le potrei rappresentare?

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,254
    Quote Originariamente inviata da Gaucho10 Visualizza il messaggio
    come potrei fare una scacchiera usando i JPanel?
    E le pedine all'interno come le potrei rappresentare?
    La questione è che le possibilità sono svariate.
    1) Un componente specifico (estensione di JPanel o JComponent) in cui viene disegnata tutta la scacchiera.
    2) Un normale JPanel che ha un GridLayout in cui vengono disposti 64 componenti in griglia, che possono essere dei JLabel che hanno delle icone o possono essere dei componenti personalizzati in cui viene disegnata da zero la pedina con le primitive di disegno o come immagine.
    3) Simile al 2) ma con il posizionamento assoluto invece che un GridLayout.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  7. #7
    Quote Originariamente inviata da andbin Visualizza il messaggio
    La questione è che le possibilità sono svariate.
    2) Un normale JPanel che ha un GridLayout in cui vengono disposti 64 componenti in griglia, che possono essere dei JLabel che hanno delle icone o possono essere dei componenti personalizzati in cui viene disegnata da zero la pedina con le primitive di disegno o come immagine.
    Ho capito, molto gentile, ma come si fa a fare un JLabel sotto forma di pedina?
    Quando hai scritto un JPanel che ha 64 componenti in griglia, questi componenti sono i JLabel? E di conseguenza come li faccio a rappresentare in scacchiera?

  8. #8
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    JLabel è perfettamente in grado di visualizzare delle immagini (guarda la documentazione, in particolar modo i costruttori di JLabel e scoprirai che ce ne sono tre che prendono un oggetto Icon). Di conseguenza, costruirai le immagini delle pedine e le farai visualizzare alle JLabel.


    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

  9. #9
    Quote Originariamente inviata da LeleFT Visualizza il messaggio
    JLabel è perfettamente in grado di visualizzare delle immagini. Di conseguenza, costruirai le immagini delle pedine e le farai visualizzare alle JLabel.
    Ma le immagini intendi, anche immagini di una scacchiera taglio il riquadro bianco e quello nero li trasformo in icone e poi con il metodo set Icon metto l'immagine?

  10. #10
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,254
    Quote Originariamente inviata da Gaucho10 Visualizza il messaggio
    Ma le immagini intendi, anche immagini di una scacchiera taglio il riquadro bianco e quello nero li trasformo in icone e poi con il metodo set Icon metto l'immagine?
    Se per le caselle ti basta un singolo colore "solido", allora puoi usare il background del JLabel (devi anche renderlo "opaco") e poi puoi usare delle icone semi-trasparenti (es. png con canale alpha) con la immagine della sola pedina.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java 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 © 2024 vBulletin Solutions, Inc. All rights reserved.