Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Renault Twingo E-Tech Electric: che prezzo!
Renault Twingo E-Tech Electric: che prezzo!
Renault annuncia la nuova vettura compatta del segmento A, che strizza l'occhio alla tradizione del modello abbinandovi una motorizzazione completamente elettrica e caratteristiche ideali per i tragitti urbani. Renault Twingo E-Tech Electric punta su abitabilità, per una lunghezza di meno di 3,8 metri, abbinata a un prezzo di lancio senza incentivi di 20.000€
Il cuore digitale di F1 a Biggin Hill: l'infrastruttura Lenovo dietro la produzione media
Il cuore digitale di F1 a Biggin Hill: l'infrastruttura Lenovo dietro la produzione media
Nel Formula 1 Technology and Media Centre di Biggin Hill, la velocità delle monoposto si trasforma in dati, immagini e decisioni in tempo reale grazie all’infrastruttura Lenovo che gestisce centinaia di terabyte ogni weekend di gara e collega 820 milioni di spettatori nel mondo
DJI Osmo Mobile 8: lo stabilizzatore per smartphone con tracking multiplo e asta telescopica
DJI Osmo Mobile 8: lo stabilizzatore per smartphone con tracking multiplo e asta telescopica
Il nuovo gimbal mobile DJI evolve il concetto di tracciamento automatico con tre modalità diverse, un modulo multifunzionale con illuminazione integrata e controlli gestuali avanzati. Nel gimbal è anche presente un'asta telescopica da 215 mm con treppiede integrato, per un prodotto completo per content creator di ogni livello
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 24-08-2008, 11:38   #1
F@lkland§
Member
 
L'Avatar di F@lkland§
 
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)
F@lkland§ è offline   Rispondi citando il messaggio o parte di esso
Old 24-08-2008, 11:39   #2
F@lkland§
Member
 
L'Avatar di F@lkland§
 
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)
F@lkland§ è offline   Rispondi citando il messaggio o parte di esso
Old 24-08-2008, 12:38   #3
avastreg
Senior Member
 
L'Avatar di avastreg
 
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
avastreg è offline   Rispondi citando il messaggio o parte di esso
Old 24-08-2008, 15:03   #4
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
Quote:
Originariamente inviato da F@lkland§ Guarda i messaggi
[...] Che layoutmanager mi consigliate di utilizzare?
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:
Originariamente inviato da avastreg Guarda i messaggi
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
non ti criticherei se Java avesse le partial classes, come C#. e invece ti critico perché non è assolutamente detto che risparmi un sacco di tempo: a causa della pessima organizzazione del codice autogenerato potrebbe ritrovarsi a perdere molto tempo in fasi di sviluppo successive alla creazione della GUI.

Visual C# risolve questo problema proprio usando le partial classes: il codice schifoso autogenerato è isolato e nascosto
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 24-08-2008, 16:09   #5
WarDuck
Senior Member
 
L'Avatar di WarDuck
 
Iscritto dal: May 2001
Messaggi: 12862
Vai di NetBeans, senza ombra di dubbio.
WarDuck è offline   Rispondi citando il messaggio o parte di esso
Old 24-08-2008, 16:45   #6
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
e poi ne riparliamo
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 24-08-2008, 18:41   #7
k0nt3
Senior Member
 
Iscritto dal: Dec 2005
Messaggi: 7258
Quote:
Originariamente inviato da 71104 Guarda i messaggi
non ti criticherei se Java avesse le partial classes, come C#. e invece ti critico perché non è assolutamente detto che risparmi un sacco di tempo: a causa della pessima organizzazione del codice autogenerato potrebbe ritrovarsi a perdere molto tempo in fasi di sviluppo successive alla creazione della GUI.
è buona abitudine separare nettamente il codice che disegna la grafica dalla logica applicativa, quindi non è affatto un problema

in poche parole anche io consiglio di disegnare l'interfaccia con un disegnatore di interfacce
k0nt3 è offline   Rispondi citando il messaggio o parte di esso
Old 25-08-2008, 12:00   #8
F@lkland§
Member
 
L'Avatar di F@lkland§
 
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)
F@lkland§ è offline   Rispondi citando il messaggio o parte di esso
Old 25-08-2008, 12:08   #9
k0nt3
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
k0nt3 è offline   Rispondi citando il messaggio o parte di esso
Old 25-08-2008, 17:34   #10
sirus
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.
sirus è offline   Rispondi citando il messaggio o parte di esso
Old 26-08-2008, 16:42   #11
F@lkland§
Member
 
L'Avatar di F@lkland§
 
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)
F@lkland§ è offline   Rispondi citando il messaggio o parte di esso
Old 26-08-2008, 17:52   #12
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da F@lkland§ Guarda i messaggi
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....
Senza il codice e/o maggiori informazioni è un po' dura capire cosa c'è che non va...
__________________

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)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 26-08-2008, 18:16   #13
F@lkland§
Member
 
L'Avatar di F@lkland§
 
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);
label sarebbe un'intitolazione
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)
F@lkland§ è offline   Rispondi citando il messaggio o parte di esso
Old 26-08-2008, 18:21   #14
F@lkland§
Member
 
L'Avatar di F@lkland§
 
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)
F@lkland§ è offline   Rispondi citando il messaggio o parte di esso
Old 27-08-2008, 13:20   #15
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
L'errore è qua:
Quote:
Originariamente inviato da F@lkland§ Guarda i messaggi
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);
Metti "c1" al posto della "c" in rosso.
__________________

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)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Renault Twingo E-Tech Electric: che prezzo! Renault Twingo E-Tech Electric: che prezzo!
Il cuore digitale di F1 a Biggin Hill: l'infrastruttura Lenovo dietro la produzione media Il cuore digitale di F1 a Biggin Hill: l'infrast...
DJI Osmo Mobile 8: lo stabilizzatore per smartphone con tracking multiplo e asta telescopica DJI Osmo Mobile 8: lo stabilizzatore per smartph...
Recensione Pura 80 Pro: HUAWEI torna a stupire con foto spettacolari e ricarica superveloce Recensione Pura 80 Pro: HUAWEI torna a stupire c...
Opera Neon: il browser AI agentico di nuova generazione Opera Neon: il browser AI agentico di nuova gene...
Altro che AGI, la superintelligenza di M...
Il nuovo ECOVACS DEEBOT T30C OMNI GEN2 s...
GeForce RTX 50 SUPER in ritardo o persin...
HYTE X50: il case dalle linee arrotondat...
Sony ULT WEAR in super offerta: le cuffi...
Sconti record su smartwatch top: Apple W...
NIU continua a crescere: a EICMA 2025 nu...
DJI Osmo 360 ai prezzi più bassi ...
Il nuovo Edge 70 conferma la strategia v...
Il Re dei mini PC economici: 160€ con 16...
Smartphone, tablet e auricolari a soli 2...
Square Enix guarda al futuro: più...
Crolla a 89€ una scopa elettrica low cos...
Anche Huawei segue il trend del mercato:...
Un portatile un tuttofare definitivo a 5...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 10:27.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v