Newsgroup: it.comp.java
Titolo: LUNGO - Stabilizzare un'applicazione Swing/AWT

Ciao a tutti,
negli ultimi 3 mesi ho avuto la necessità di lavorare con Swing e AWT
per creare un'applicazione grafica...un mondo decisamente nuovo per me,
nato come web developer.
Il progetto volge al termine, le funzionalità di base sono
correttamente funzionanti, ma la stabilità lascia un po' a desiderare.
La struttura dei components è renderizzata a runtime in base ad un
file xml che descrive dimensione e posizione di ogni oggetto:
tipicamente il "tree" è composto da un JFrame di base in fullscreen al
quale viene applicata una JLabel come immagine di sfondo e, seguendo un
ciclo sugli oggetti da visualizzare, vengono aggiunti 'n' componenti di
tipo heavyweight e lightweight.
La mia scarsa conoscenza del framework mi ha spinto nel corso dello
sviluppo a seguire un approccio fin troppo banale, secondo il quale
tutti i nuovi oggetti vengono aggiunti mediante
getContentPane().add()...non so se il problema sia da ricercare in
questa scelta, ma ho potuto constatare che ho diverse grane in termini
di posizionamento sul frame principale.
Googlando un po' sul gruppo, ho trovato un esempio che mi ha aperto gli
occhi:
http://snipurl.com/tuti
Il fatto di usare un JLayeredPane e di aggiungere i componenti secondo
un ordine indicato dall'Integer, può considerarsi una soluzione sicura
ed efficace?
In alternativa, quale può essere secondo voi la strada più stabile
per questa applicazione, districandosi tra layoutmanager, componenti
swing e awt?
In conclusione, mi piacerebbe capire qual è la strada corretta per
aggiungere componenti a runtime sul mio JFrame di base...
Grazie a tutti, in particolare a chi è arrivato a leggere fino a qui!
CIAO!

Non vorrei ripetermi :-) ma ti consiglio il TableLayout:
https://tablelayout.dev.java.net/
Riesci ad implementare una struttura molto simile ad una pagina HTML ove 
usi le tabelle per gestire il layout... efficace e semplice!
Noi in quel modo abbiamo sviluppato un'applicazione che descriveva la 
sua GUI in un file XML e che venire renderizzata al volo su HTML o 
Swing, a seconda di dove il motore veniva fatto girare.
Ciao,
     Bruno
P.S.
Il JavaDay è qui!
http://www.javaday.it
-- 
| Bruno Bossola
| A Java Software Engineer :-)
| 
http://digilander.iol.it/bbossola
| Coordinatore del JUG Torino - 
http://www.jugtorino.it

 usi le tabelle per gestire il layout... efficace e semplice!
Ottimo, verifico subito la possibilità di utilizzarlo entro i tempi di
release.
Grazie mille, CIAO!

 Swing, a seconda di dove il motore veniva fatto girare.
Una domanda inerente all'argomento: qual è il modo migliore per
rimuovere e aggiungere un componente da un container, sempre a runtime?
Posso semplicemente utilizzare il metodo remove(...) e in seguito
add(...) o è necessario effettualre validazioni?
Grazie!

  
Se tu modifichi un componente/container visualizzato devi sempre 
successivamente richiamare il metodo validate() sullo stesso.
Per quanto riguarda add()/remove() dipende dal layoutmanager, con alcuni 
si puo' fare facilmente con altri è necessario rieseguire il layout di 
tutto.


 tutto.
Le tue esperienze con TableLayout in merito a add()/remove() cosa
dicono?
Grazie, sto cominciando a ragionare "a celle", ma il primo impatto mi
sembra un po' ostico...
CIAO!

 
Mah, se sei pratico di HTML viene naturale! Altri layout manager facili 
da usare ed efficaci non ne conosco, sorry.
P.S.
Il JavaDay č qui!
