Newsgroup: it.comp.java
Titolo: Creazione Planning (tabulato prenotazioni albergo)

Ciao a tutti,
sto realizzando un'applicazione per la gestione di un albergo.
Ho fatto quindi la parte sulla prenotazione ed ora dovrei fare il
planning e cioè un tabulato che serve per vedere subito ad occhio i
giorni liberi e quelli non.
Quindi in pratica sullo schermo dovrei vedere una specie di tabella con
in alto i vari mesi e i giorni e sulla sinistra i numeri delle stanze e
quindi creare una tabella con tanti quadratini dove ognuno di essi
verrà colorato di rosso se occupato, verde se libera, nera se camera
indisponibile per lavori.
Inoltre cliccando su un quadratino si dovrebbe aprire una finistra con
le informazioni su quella prenotazione.
Il problema e che non saprei proprio come iniziare.
Avevo pensato ad una JTable (ma non so se si può fare) oppure ad un
JPanel diviso a matrice dove in ogni quadratino viene inserita una
JLabel che verrà colorata opportunamente.
Qualcuno ha qualche idea o meglio ancora qualche esempio su come
procedere?
Grazie a tutti.
Ciao Rocco.

hunterbit ha scritto:

Ciao Rocco,
credo che una bella JTable sia la cosa più naturale.
All'inizio non è molto semplice da gestire visto che tra interfacce e
modelli di rendering, listener e quant'altro devi conoscere bene una
mezza dozzina di classi. Da includersi nel programma solo dopo un
attento studio.
Sul sito sun c'è proprio il tutorial con il rendering di una cella
colorata, tra l'altro.
ciao

hunterbit ha scritto:

Ciao Rocco,
stò facendo la stessa cosa ma per uno stabilimento balneare e per 
l'assegnazione degli ombrelloni.
Ho usato una jTable e devo dire che il risultato mi stà piacendo, anche 
se ci sono un pò di workaround in giro per gestire bene l'interattività 
di cui avevo bisogno.
Come ti hanno già detto per utilizzare al meglio una JTable bisogna 
conoscere una decina di classi e di meccanismi diversi, ma una volta 
assimilata non ci sono problemi.
Il compnente JTable è il miglior esempio di pattern MVC presente in 
Swing, questo ti avvanggia un sacco per quanto riguarda 
l'implementazione della logica di funzionamento.
Il mio stà ancora in sviluppo ed è ad uno stato primordiale, inoltre è 
molto poco generico.
Comunque posso dirti che sei sulla strada giusta.
Delvy

Non è che potresti darmi qualche informazione in più?
Non so le varie classi da studiare o altro..
O magari degli esempi di codice sempre se puoi.
Lo so che chiedo troppo ma essendo un principiante e conoscendo bene
l'inglese (purtroppo...sarà ora che imparo) faccio fatica dai vari
tutorial che sono sparsi in giro quindi con del codice la cosa sarebbe
molto più facile.
Ti ringrazio anticipatamente.
Ciao Rocco.
P.S.: ti ho chiesto codice ma nn necessariamente, mi basterebbe anche
qualche dritta su come muovermi e poi mi ci metto io a sbattere la
testa. Grazie tanto.

hunterbit ha scritto:

Ciao, purtroppo il codice non te lo posso passare, ma posso darti delle 
indicazioni.
Allora sulle API si parte dall'oggeto JTable che rappresenta la tabella 
dal punto di vista grafico.
Un oggetto JTable ha un attributo che si chiama "model". Il model è un 
oggetto di tipo JTableModel che rappresenta i dati contenuti nella 
tabella. Il tuo model, chiamiamolo StanzeModelTable, deve implementare 
dei metodi che vengono richiamati dalla JTable per riempire le caselle, 
scoprire se una casella è editabile o meno ecc...
Questa è la base.
Per andare oltre c'è da dire che anche le colonne hanno la stessa 
struttura. Quindi potresti avere un ColumnModel (o una cosa del genere, 
stò andando a memoria) nel quale specifiche certi apptributi di quella 
specifica colonna.
La cosa importante che serve a te sono i CellRenderer. Un CellRender è 
un "disegnatore" di celle. Lo associ ad una colonna attraverslo il 
ColumnModel ed i dati di quella colonna vengono "disegnari" con 
CellRender associato.
Tu devi fare un cell rendere che disegna un pannellino colorato a 
seconda del valore di quella colonna.
Per spiegare bene come funzionano le JTable ci vorrebbe un libro 
apposta. Cmq puoi partire da questa cose.
Se hai problemi chiedi.
Delvy

In questi giorni cercherò di fare delle prove e nel caso avessi
intoppi ti chiedo qualcosa.
Grazie della disponibilità
Ciao Rocco.
mi daresti la tua email nel caso avessi bisogno?
se nn puoi non ti preoccupare posterò sempre qui.

hunterbit ha scritto:

La mail la trovi nel messaggio... basta che invece di rispondere al 
destinatario rispondi a me... ovviamente voce c'è scritto PUNTO devi 
mettere un punto.
Compatibilmente col tempo che ho a disposizione ti rispondo volentieri.
Delvy

grazie.