|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Feb 2008
Città: Bari
Messaggi: 36
|
[JAVA] Consigli realizzazione GUI complessa
Ciao ragazzi mi stavo imbattendo alla realizzazione del mio software e cercavo di capire che layout manager utilizzare per l'interfaccia che vorrei realizzare.
Sommariamente vorrei realizzare un interfaccia di questo tipo: Che layoutmanager mi consigliate di utilizzare? ![]() Vi ringrazio!
__________________
Che bisogno ha una persona di tenersi un computer in casa? (Kenneth Olsen, fondatore della Digital Equipment, alla convention della World Future Society 1977) |
|
|
|
|
|
#2 |
|
Member
Iscritto dal: Feb 2008
Città: Bari
Messaggi: 36
|
Avevo pensato a tre BorderLayout per i pannelli principali, per l'interno del pannello di sinistra uno SpringLayout, il tutto inseriti in un BorderLayout.CENTER che ne dite?
__________________
Che bisogno ha una persona di tenersi un computer in casa? (Kenneth Olsen, fondatore della Digital Equipment, alla convention della World Future Society 1977) |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Sep 2007
Messaggi: 316
|
io ti consiglio di fare l'interfaccia con un editor visuale tipo NetBeans (che è veramente curato), o al massimo con il plugin di Eclipse.. so che gli altri mi criticheranno, ma ti risparmi un sacco di tempo e di imprecazioni
|
|
|
|
|
|
#4 | |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
uno diverso per ogni pannello
come layout principale per disporre i pannelli direi un GridBagLayout. GridBagLayout è una classe notoriamente complessa, quindi se ne trovi uno più semplice meglio. Quote:
Visual C# risolve questo problema proprio usando le partial classes: il codice schifoso autogenerato è isolato e nascosto
|
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: May 2001
Messaggi: 12861
|
Vai di NetBeans, senza ombra di dubbio.
|
|
|
|
|
|
#6 |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
e poi ne riparliamo
|
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Dec 2005
Messaggi: 7258
|
Quote:
in poche parole anche io consiglio di disegnare l'interfaccia con un disegnatore di interfacce
|
|
|
|
|
|
|
#8 |
|
Member
Iscritto dal: Feb 2008
Città: Bari
Messaggi: 36
|
in pratica un plugin tipo jigloo mi risolverebbe tutti i problemi?
so che mi farebbe risparmiare un po di tempo...ma non vorrei che mi metta un sacco di codice inutile...
__________________
Che bisogno ha una persona di tenersi un computer in casa? (Kenneth Olsen, fondatore della Digital Equipment, alla convention della World Future Society 1977) |
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Dec 2005
Messaggi: 7258
|
se usi eclipse dovrebbe esserci visual editor come plugin. jigloo non lo conosco
in ogni caso se tieni ben separato il codice che riguarda la grafica dalla logica del programma (cioè quello che bisognerebbe fare sempre e comunque), il codice autogenerato non interferisce con il tuo. ps. devi anche decidere se utilizzare swing (quelle standard in ambiente java) o swt (quelle utilizzate da eclipse) come librerie grafiche |
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Mar 2004
Messaggi: 16053
|
Io consiglio di imparare ad utilizzare il GridBagLayout. Lo scorso anno ho dovuto scrivere un'interfaccia grafica in Java per la prima volta ed ho utilizzato la guida presente su questo forum. Rapida ed indolore.
Per quanto riguarda i controlli, secondo me ti conviene utilizzare Swing. PS: il codice che produce NetBeans non è come quello che scriverei io quindi evito di usarlo. |
|
|
|
|
|
#11 |
|
Member
Iscritto dal: Feb 2008
Città: Bari
Messaggi: 36
|
sì praticamente la sto scrivendo io l'interfaccia con il GridBagLayout
finora tutto bene però quando arrivo per fare il pannello delle prenotazioni il gridBag non va più... è pure ho seguito alla lettera anch'io il manuale....
__________________
Che bisogno ha una persona di tenersi un computer in casa? (Kenneth Olsen, fondatore della Digital Equipment, alla convention della World Future Society 1977) |
|
|
|
|
|
#12 | |
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Quote:
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
|
|
|
|
|
|
#13 |
|
Member
Iscritto dal: Feb 2008
Città: Bari
Messaggi: 36
|
Allora cerco di essere il più preciso possibile:
Codice:
GridBagLayout layout = new GridBagLayout(); pannelloPrenotazioni.setLayout(layout); GridBagConstraints c = new GridBagConstraints(); c.gridx=0; c.gridy=0; c.fill=HORIZONTAL; c.weighty=0; c.weightx=0; c.gridwidth=4; c.anchor = GridBagConstraints.NORTH; pannelloPrenotazioni.add(label, c); GridBagConstraints c1 = new GridBagConstraints(); c1.gridx=0; c1.gridy=1; c1.fill=NONE; c1.weighty=0; c1.weightx=0; c1.anchor = GridBagConstraints.EAST; pannelloPrenotazioni.add(lblOrario, c); lblOrario sarebbe una semplice label ma la visualizzazione di entrambe mi viene sempre al centro e sovrapposte
__________________
Che bisogno ha una persona di tenersi un computer in casa? (Kenneth Olsen, fondatore della Digital Equipment, alla convention della World Future Society 1977) |
|
|
|
|
|
#14 |
|
Member
Iscritto dal: Feb 2008
Città: Bari
Messaggi: 36
|
ho utilizzato la forma estesa per fa comprendere i GridBagConstraints
dimenticavo, pannelloPrenotazioni è inserito a sua volta in un GridBagLayout Codice:
c.gridx = 1;
c.gridy = 0;
pannelloPrenotazioni.setPreferredSize(newDimension(300,300));
pane.add(creaPannelloPrenotazioni(),c);
__________________
Che bisogno ha una persona di tenersi un computer in casa? (Kenneth Olsen, fondatore della Digital Equipment, alla convention della World Future Society 1977) |
|
|
|
|
|
#15 | |
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
L'errore è qua:
Quote:
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 10:54.





















