Newsgroup: it.comp.java
Titolo: Finestre modali ?

 Purtroppo ho gia' attivato un sistema MDI,
 frame principale che contiene finestre figlie,
 quindi un JFrame che possiede come contentPane
 un JDesktopPane sul quale eseguo degli .add
 dei JInternalFrame.
 Ora ho la necessita' di aprire un JInternalFrame
 modale ed essendo un JInternalFrame non posso
 crearlo come JDialog, che lo permetterebbe,
 e vorrei anche evitare di disattivare tutto
 quanto sta sotto: menu, altre eventuali finestre
 aperte, etc...
 
 Qualcuno ha un'idea ?
 Grazie.

...

Mi sono trovato davanti a questo problema e non ho saputo risolverlo. Il
fatto è che è innaturale creare un Internal Frame modale. Non si è mai visto
in un applicazione Word un documento modale (!!!) ... Se trovi una
soluzione, per favore, comunicamela !
Mario 
bc...@tin.it

Premetto che avevo la necessita' di
bloccare l'applicativo sull'apertura
di una finestra quindi ho deciso di
continuare ad utilizzare i JInternalFrame
rendendo invisibili tutte le finestre
precedentemente aperte
( tramite un loop sui child aperti,
sfruttando getAllFrames() di JDesktopPane )
e bloccando il menu.
Faro' altri esperimenti e comunichero'.
Ciao, fabrizio.

in un applicazione Word un documento modale (!!!) ...
La finestra delle opzioni č modale.
--
Bye,
  Dario
ICQ: 
http://wwp.mirabilis.com/11871099
Remove anti-spam from e-mail address

 La finestra delle opzioni è modale.
La finestra delle opzioni non è una finetra figlia (MDI_CHILD), e quindi
può fare quel che gli pare :)
Tutto questo per la precisione (Massimo Alfredo Giuseppe Maria :) )
--
            // Alf - 
dipi...@fisica.uniud.it
          \X/ [Life sucks! Marvin the android]
-----------== Posted via Deja News, The Discussion Network ==----------
http://www.dejanews.com/
       Search, Read, Discuss, or Start Your Own    

  Qualcuno ha un'idea ?
Io! Io! :) L'idea è questa...
Crei un altro DesktopPane, trasparente e lo aggiungi come glassPane del
tuo frame originale, qualcosa tipo
  d = new JDesktopPane(); d.setOpaque(false);
  frame.getRootPane().setGlassPane(d);
poi registri dei listener sul nuovo desktop pane che intercettino tutti
gli eventi che ti interessano, in modo che non vengano passati agli oggetti
sottostanti. Quando ti serve fai qualcosa tipo
  d.setVisible(true); d.add(new JInternalFrameModale());
Quando chiudi l'internal frame devi ovviamente far sparire il secondo
DesktopPane con un bel
  d.setVisible(false);
Non ne sono sicuro, ma potrebbe funzionare... :)


 La finestra delle opzioni č modale. 
scusate,ma cosa si intende per modale?!?!?
-- 
 Signed: Paolo"Flag"Pisati            Be-Developer#E-17711
 Resistance is not futile.Be.         Born to walk against the wind          
 

può fare quel che gli pare :)
Mmm... Vero. E` che io le ho usate per altre cose e mi avrebbero fatto
comodo modali.


tuo frame originale
Sai mica come si mette una immagine si sfondo su un JDesktopPane?


scusate,ma cosa si intende per modale?!?!?
Una dialog che, una volta aperta, inibisce i comandi sul frame di
origine. Per capirci: se selezioni "Opzioni" dal menù di Word, non
puoi più selezionare "Apri file" o altro finchè non chiudi la dialog
delle opzioni.


 Sai mica come si mette una immagine si sfondo su un JDesktopPane?
Credo che ridefinire il metodo paintComponent() in modo che disegni l'immagine
che vuoi sia sufficiente...
