Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Sony WF-1000X M6: le cuffie in-ear di riferimento migliorano ancora
Sony WF-1000X M6: le cuffie in-ear di riferimento migliorano ancora
WF-1000X M6 è la sesta generazione di auricolare in-ear sviluppata da Sony, un prodotto che punta a coniugare facilità di utilizzo con una elevata qualità di riproduzione dei contenuti audio e una cura nella riduzione del rumore ambientale che sia da riferimento
Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI
Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI
Snowflake ha presentato diverse novità per la sua piattaforma legate all'intelligenza artificiale. Quella forse più eclatante è una collaborazione con OpenAI, ma non mancano diverse nuove funzionalità che rendono la piattaforma più flessibile e in grado di rispondere meglio alle esigenze in continuo cambiamento delle aziende
Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo MSI
Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo MSI
Con velocità teoriche fino a 11 Gbps, gestione tramite app intelligente e protezione avanzata dei dispositivi, Roamii BE Pro porta il Wi‑Fi 7 tri‑band nelle abitazioni più esigenti. Un sistema Wi-Fi Mesh proposto da MSI allo scopo di garantire agli utenti una rete fluida e continua capace di sostenere streaming 8K, gaming competitivo e le applicazioni moderne più esigenti in termini di banda
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 09-07-2011, 12:22   #1
cifa
Member
 
Iscritto dal: Sep 2007
Messaggi: 59
[JAVA] Contenuto JFrame

Salve a tutti,
Premetto subito che sono piuttosto nuovo alle GUI, quindi probabilmente sto per dire bestialità, scusatemi in partenza
Ho concluso una GUI che attualmente funziona in questo modo (schematizzo dato che il codice è molto lungo):

Un main crea un frame (chiamiamolo frame1), attraverso un buttonlistener setta il frame1 non visibile e invoca un altro metodo statico che crea un frame2 ex novo lo riempe a dovere ed ha buttonlistner assolutamente analoghi a frame1. Tutto ciò avviene a catena per oltre una decina di finestre almeno.

Il mio dubbio è che il creare così tanti Frame sia poco corretto, avevo dunque pensato di passare ai vari metodi come argomento il frame originario da riempire al posto dei vari frame che vengono creati ex-novo dai metodi, in questo modo eviterei di creare frame ogni volta, ma non riesco a farlo. L'unica cosa che mi era venuta in mente è creare per ogni metodo un pannello a cui aggiungere i componenti come facevo con i nuovi frame per poi settarlo come contentpane del frame passato come riferimento. Ma facendo così non è ugualmente dispendioso? Altra domandina è, io ho diversi bottoni "Indietro", grazie al modo usato fino ad adesso, mi bastava passare come riferimento ad ogni metodo il frame creato dal metodo precedente e lavorare di .setVisible, se dovessi invece cambiare il tutto per "ri-riempire" uno stesso frame dovrei più volte svuotarlo e ri-riempirlo, non sarebbe molto peggio ?


Vi ringrazio e mi scuso per la domanda magari sciocca.
cifa è offline   Rispondi citando il messaggio o parte di esso
Old 09-07-2011, 17:11   #2
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
prima la seconda: dal punto di vista dell'organizzazione il codice non cambia perchè quelli che prima erano frame diventerebbero pannelli. Passi il riferimento "globale" a questi così come lo passavi ai frame.

Circa l'uso dei frame in verità è una scelta di "filosofia", tra interfacce a desktop multipli (cioè più finestre) e quelle a desktop singolo. Quello che conta è l'usabilità. Ad esempio una MDI può essere grandiosa se hai due monitor e una ciofeca galattica se ne hai uno solo. Le SDI dipendono tanto dalla risoluzione dello schermo: se è bassa passi metà del tempo a trascinare barre di scorrimento.

Insomma, bisogna vedere.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 09-07-2011, 17:50   #3
cifa
Member
 
Iscritto dal: Sep 2007
Messaggi: 59
Quote:
Originariamente inviato da PGI-Bis Guarda i messaggi
prima la seconda: dal punto di vista dell'organizzazione il codice non cambia perchè quelli che prima erano frame diventerebbero pannelli. Passi il riferimento "globale" a questi così come lo passavi ai frame.

Circa l'uso dei frame in verità è una scelta di "filosofia", tra interfacce a desktop multipli (cioè più finestre) e quelle a desktop singolo. Quello che conta è l'usabilità. Ad esempio una MDI può essere grandiosa se hai due monitor e una ciofeca galattica se ne hai uno solo. Le SDI dipendono tanto dalla risoluzione dello schermo: se è bassa passi metà del tempo a trascinare barre di scorrimento.

Insomma, bisogna vedere.
Beh la mia GUI in realtà è dannatamente basica, quello che ho è un insieme di frame (quasi tutti della stessa dimensione) contenente solo textfield, bottoni e qualche combobox, non ho finestre che devono comparire insieme e sopra. A livello finito la sensazione che l'utilizzatore ha è quella di un unica finestra (di dimensioni piccolo, 600x300 dovrebbe essere) il quale contenuto cambia.
Ad esempio se l'utilizzatore seleziona un campo di una JList e preme OK, a lui compare nello stesso spazio utilizzato prima un insieme di TextField con campi da modificare, quello che accade a livello del mio codice è che il vecchio frame contenente JList ed altra roba viene settato non visibile, mentre viene chiamato un metodo che si occupa di creare una nuova finestra con i vari componenti e la setta visibile fino a contro-ordine.

Quindi però, se ho capito bene, a livello di efficienza non cambia nulla se dovessi ri-riempire lo stesso frame con diversi pannelli, giusto ?


Scusami è che oltre ad esser novizio con le GUI lo sono anche con la programmazione
cifa è offline   Rispondi citando il messaggio o parte di esso
Old 09-07-2011, 21:31   #4
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
a livello di efficienza ne guadagni (con un frame solo) perchè la realizzazione di un JFrame è un procedimento oneroso. Relativamente parlando: all'atto pratico l'utente non si accorge di alcuna maggiore rapidità del programma.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 10-07-2011, 10:47   #5
cifa
Member
 
Iscritto dal: Sep 2007
Messaggi: 59
Quote:
Originariamente inviato da PGI-Bis Guarda i messaggi
a livello di efficienza ne guadagni (con un frame solo) perchè la realizzazione di un JFrame è un procedimento oneroso. Relativamente parlando: all'atto pratico l'utente non si accorge di alcuna maggiore rapidità del programma.
Beh dato che è un progetto universitario ed il codice penso verrà ispezionato, penso che mi converrà sostituire ogni nuovo frame con un nuovo panel che verrà settato come contentPane del frame passato come riferimento, giusto ?
L'unica cosa che mi puzzava è che usando questo metodo, ad ogni pulsante indietro devo ricreare un panel da capo, ma se mi dici che creare un JFrame è oneroso, intraprenderò questa strada.

Ti ringrazio
cifa è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Sony WF-1000X M6: le cuffie in-ear di riferimento migliorano ancora Sony WF-1000X M6: le cuffie in-ear di riferiment...
Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI Snowflake porta l'IA dove sono i dati, anche gra...
Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo MSI Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo M...
Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi Recensione HUAWEI Mate X7: un foldable ottimo, m...
Nioh 3: souls-like punitivo e Action RPG Nioh 3: souls-like punitivo e Action RPG
Zscaler Threat Report 2026: l'adozione d...
Claude AI minaccia omicidi e ricatti qua...
Dentro la gara: a Milano Cortina 2026 i ...
Samsung Display presenta QD-OLED Penta T...
KONAMI torna con "Silent Hill: Town...
Rende il citofono smart a 44,99€: Ring I...
ThunderX3 XTC, la sedia da ufficio che s...
Mercy, Mission Impossible, Aronofsky: il...
Project Windless: il nuovo action in esc...
Saros: mostrato il gameplay del gioco de...
God of War: Sons of Sparta annunciato e ...
John Wick torna in un nuovo videogioco a...
MADE chiude il 2025 con 59 partner e 250...
007 First Light: allo State of Play un n...
Gli iPhone su Amazon costano meno che su...
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: 06:13.


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