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

    [SWING] Creare un GlassPane con NetBeans

    Ciao a tutti!

    Sto creando un'interfaccia grafica con NetBeans 5.5 e mi servirebbe inserire un glassPane per poi aggiungervi sopra, trascinandole dall'apposito menu a tendina, alcune label. Non mi pare ci sia jGlassPane tra le scelte del menu.
    La domanda è:
    1) Si può fare?
    2) Se sì come si fa?

    Ho provato a creare un jPanel (glassPane extends jPanel) e a settarlo non opaco, ma non riesco ugualmente a trascinarlo su un'altra label.
    il glassPane mi servirebbe perchè devo visualizzare una label piccola su una label più grossa, quindi ho pensato:
    frame->labelGrossa->glassPane->labelPiccola
    Magari esiste un modo più furbo, non esitate a dirmelo!

    Saluti!

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    906
    Se la modalita' "visuale" ti impedisce di fare qualcosa, scriviti tutto a mano.
    Fai una nuova Java class, gli fai estendere JFrame e ci fai tutto quello che devi fare.

  3. #3
    Hm... Diciamo che se non ci riesco per via grafica difficilmente credo di riuscirci per via codice
    Ho guardato il tutorial ma mi sembra vada ben oltre a quello che serve a me.
    E poi vorrei essere sicuro di aver capito bene quello che si può fare:
    Su un jFrame NewJFrame ho una jLabel jLabel1 e altri componenti. Io vorrei "mascherare" solo la jLabel1 con un glassPane per poi metterci sopra altre jLabel. Come si può fare?

    Grazie!

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    906
    Non so se fa al caso tuo, ma c'e' un componente JLayeredPane che ti consente di aggiungere oggetti specificando anche un intero che indica la posizione z dell'oggetto.
    Non l'ho mai usato quindi non ti so dire di piu'.

  5. #5
    boh... Non riesco mica a piazzarlo sopra a una label...

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    906
    No, da quanto ho capito piazzi il Layered pane e ci aggiungi le label a profondita differenti.
    codice:
    panel.add(label1, -10);
    panel.add(label2, 0);
    panel.add(label3, 10);
    Poi come ti ho scritto, non l'ho mai usato, magari non funziona nel modo in cui l'ho capito io.

  7. #7
    Grande!

    Ora ho capito. Ovviamente è sorto un nuovo problema


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.