Ciao a tutti,
Dovrei creare delle carte da gioco (mazzo francese), e mostrarle sul tavolo...come disegnarle? con il metodo draw, oppure creo l'immagine e la mostro?
Grazie a tutti ^^
Ciao a tutti,
Dovrei creare delle carte da gioco (mazzo francese), e mostrarle sul tavolo...come disegnarle? con il metodo draw, oppure creo l'immagine e la mostro?
Grazie a tutti ^^
Scusa ma è un po' vaga come questione ....Originariamente inviato da Patrick Jane
Dovrei creare delle carte da gioco (mazzo francese), e mostrarle sul tavolo...come disegnarle? con il metodo draw, oppure creo l'immagine e la mostro?
Un punto è come rappresentare in termini di oggetti i mazzi e le carte .... un altro punto è come visualizzare proprio graficamente le carte. E già solo qui ci sarebbero diversi approcci: a) Un pannello che contiene JLabel ognuno per una carta che mostrano Icon b) Un pannello che disegna tuoi componenti (estensione di JComponent o JPanel) ognuno per una carta in cui si presume si faccia del painting sul Graphics c) Un unico componente che disegna tutto quanto, tavolo e tutte le carte.
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
Intendo la visualizzazione vera e propria delle carte.Originariamente inviato da andbin
Scusa ma è un po' vaga come questione ....
Un punto è come rappresentare in termini di oggetti i mazzi e le carte .... un altro punto è come visualizzare proprio graficamente le carte.
Il c) lo escludo; sarei più propenso al b).a) Un pannello che contiene JLabel ognuno per una carta che mostrano Icon
b) Un pannello che disegna tuoi componenti (estensione di JComponent o JPanel) ognuno per una carta in cui si presume si faccia del painting sul Graphics
c) Un unico componente che disegna tutto quanto, tavolo e tutte le carte.
Il disegno quindi avverrebbe tramite i metodi drawXxx?
Il tavolo lo rappresenterei con un JPanel..e poi disegnerei con il metodo appena citato le carte sul tavolo!
Può andare come approcio?
Grazie! ^^
Ok, ogni carta è un componente (estendi JComponent o JPanel, tecnicamente ci sono delle differenze ma alla fin fine devi comunque fare l'override di paintComponent(Graphics) e disegnare quindi la carta sul componente).Originariamente inviato da Patrick Jane
sarei più propenso al b).
Il disegno quindi avverrebbe tramite i metodi drawXxx?
Il tavolo lo rappresenterei con un JPanel..e poi disegnerei con il metodo appena citato le carte sul tavolo!
E i componenti li disponi nel pannello, in questo caso presumibilmente con il posizionamento "assoluto" (niente layout manager e uso di setBounds o setLocation+setSize).
Attenzione: se però vuoi che delle carte possano "sovrapporsi", devi prestare attenzione alla questione dello z-order. E in questo caso sarebbe meglio usare un JLayeredPane invece che un "normale" JPanel.
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
Salve a tutti,ho letto la vostra discussione e mi sono permessa di intromettermi perchè ho un problema abbastanza simile. Ecco in breve cosa sto provando a realizzare:ho creato una JFrame con 3 pannelli che rappresentano il mio tavolo da gioco,in uno di questi pannelli ho provato a disporre le carte del giocatore usando delle Jlabel contenenti ciascuna un'icon rappresentante la carta. Piccolo grande problema,non si aggiorna questo pannello con le carte ogni volta che cambio giocatore(e quindi carte)...Potete aiutarmi??
Vi ringrazio anticipatamente![]()
![]()
Credo che l'unico nesso con questa discussione sia in realtà il fatto che in entrambi i casi l'applicazione ha a che vedere con delle carte da gioco. Probabilmente, come da regolamento, sarebbe opportuno aprire una nuova discussione... ma questo lo dovrebbero valutare i moderatori.
Probabilmente il tuo problema è che non aggiorni la visualizzazione del pannello a ogni cambio di giocatore... ma, senza poter vedere il codice coinvolto, la mia è solo un'ipotesi![]()
Ciao desa,grazie per aver risposto...Ho aggiunto il mio problema a questa discussione perchè era stata suggerita una soluzione simile a quella adottata da me per risolvere la questione di visualizzazione delle carte e quindi speravo in un aiuto
... Per quanto riguarda la tua ipotesi,beh avevo già provato ad aggiornare il pannello mettendo il metodo repaint() in diversi posti ma i risultati sono abbastanza strani,passo da carte non visualizzate a JLabel aggiunte ripetendo la stessa carta ogni volta che si cambia giocatore...Non capisco cosa sbaglio
...
E' sempre opportuno postare il codice: non tutto, solo quello coinvolto nel problema che stai segnalando (o, altrimenti, una sua versione minimale). Sennò - normalmente - tutto quello che si può fare sono solo delle congetture
Comunque, visto che molto probabilmente esegui delle add() e delle remove(), può essere che non esegui una validate() del pannello modificato?