Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Desktop Pane o Layered Pane

    Ciao a tutti. Vorrei chiedervi un consiglio su cosa usare tra Desktop Pane e Layered Pane.
    Considerate che sto facendo un piccolo gestionale e anziché utilizzare tante finestre quante sono le opzioni disponibili (ad esempio la finestra che carica qualcosa, quella che effettua ricerche, quella che permette modifiche alle tabelle, ecc...), vorrei usare solo quella principale senza aprirne altre. L'idea era quella di utilizzare tante Desktop Pane o tante Layered Pane quante sono le "finestre" con tutti i vari componenti che occorrono all'interno del Frame principale.

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    JDesktopPane e JLayeredPane hanno scopi diversi.

    Il primo serve a poter gestire dei JInternalFrame: finestre figlie "indipendenti" che sono gestite all'interno di un "desktop", appunto. Questo tipo di componente consente di effettuare diverse operazioni con le finestre, quali la sovrapposizione, l'affiancamento (orizzontale, verticale), la riduzione ad icona, ecc.

    JLayeredPane invece serve a gestire "layer" diversi su cui adagiare i componenti. I componenti, quindi, potranno muoversi su layer (livelli) diversi. Ma in questo caso non si hanno "finestre" figlie...

    Tra l'altro... JDesktopPane è un'estensione di JLayeredPane.

    Quindi tutto dipende da cosa vuoi ottenere, perchè le due cose sono ben diverse.

    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Ciao Lele, grazie per la risposta. La mia è una richiesta di consiglio...se tu dovessi fare un gestionale che ha vari programmi, tali programmi li apriresti in finestre o in Layer? Perché?

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Originariamente inviato da nanopeppe
    Ciao Lele, grazie per la risposta. La mia è una richiesta di consiglio...se tu dovessi fare un gestionale che ha vari programmi, tali programmi li apriresti in finestre o in Layer? Perché?
    Io ho fatto un gestionale che ha vari programmi e... ho usato un JDesktopPane.
    In questo modo non mi devo preoccupare di gestire i layer, l'utente può aprire tutte le finestre che vuole (anche più istanze dello stesso programma) e può gestirsi lo spazio (il desktop) come meglio crede per operazioni di consultazione dati fra finestre diverse, drag & drop di dati tra programmi diversi, ecc.

    Però questa è stata una mia scelta implementativa; tutto dipende da che "faccia" vuoi dare al tuo gestionale e da come l'utente si deve poter muovere al suo interno.

    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  5. #5
    Il mio gestionale serve a gestire (scusa il gioco di parole) presenze e assenze del personale con inserimento di richieste di permessi, ferie, malattie, ecc...insomma una classica gestione del personale. L'utente che utilizzerà questo software dovrà inserire le assenze, le presenze, le ferie e altre informazioni come le anagrafiche aziendali, le anagrafiche del personale, ecc...

  6. #6
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Quindi posso pensare (ma vado ad intuito, potrebbe non essere corretto) che l'utente che ci lavora difficilmente dovrà "interagire" con due finestre diverse contemporaneamente (con il termine interagire qui intendo qualcosa di più ampio: per me l'utente interagisce con due finestre contemporaneamente anche se effettua modifiche su una finestra tenendo d'occhio la seconda in "sola lettura"). Se questo è corretto, allora probabilmente il JDesktopPane non ti serve. E' probabile che non ti serva nemmeno un JLayeredPane, ma ti sia sufficiente un JTabbedPane oppure un pannello unico gestito con CardLayout.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  7. #7
    Hai intuito bene, non c'è la necessità di aprire più finestre contemporaneamente. Le uniche finestre che verranno aperte saranno consultabili solo tramite la pressione di un pulsante all'interno della Layer o la Tabbed o la Card per ottenere informazioni più dettagliate che altrimenti non riuscirei a far visualizzare in una singola videata...detto questo avevo pensato anche io al Tabbed, ma onestamente non mi piace esteticamente.

  8. #8
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Puoi sempre creare una ToolBar e usarne i pulsanti per controllare i pannelli del CardLayout.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.