Salve, ho realizzato un form che si avvia premendo un bottone che si trova su un altro form. Adesso il mio obiettivo è di far si che il primo form non sia selezionabile se non chiudo il secondo . Potreste aiutarmi?
grazie
Salve, ho realizzato un form che si avvia premendo un bottone che si trova su un altro form. Adesso il mio obiettivo è di far si che il primo form non sia selezionabile se non chiudo il secondo . Potreste aiutarmi?
grazie
Precisa il termine "form" .... sono JFrame? Per avere una finestra che ne blocca un'altra si usano le dialog "modali". Ovvero es. JFrame --> apre JDialog modale. Il JFrame non è usabile finché la dialog non viene chiusa. Stop, tutto qui.
P.S. nota anche che l'espressione "Form always on top" è fuorviante per quello che hai chiesto, perché un conto è il fatto che una finestra stia sempre al "top" nello stack di finestre nel sistema (questo è possibile in Java) e un altro conto è una finestra che è "modale" rispetto ad una o più altre finestre.
Ultima modifica di andbin; 03-04-2014 a 09:38
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
si sono JFrame.. sul titolo sono d'accordo con te, ma non sapevo come esprimerlo. Per quanto riguarda la situazione in dettaglio ho un form che estende jframe, con un pulsante che apre un altro form anch'esso che estende JFrame. Come posso implementare la JDialog?
PS non vedo dove modificare il titolo della discussione!
Se avevi esteso JFrame .... estendi JDialog. Hanno gli stessi concetti: la presenza del content-pane con BorderLayout, il default-close-operation, la possibilità di gestire 1 JMenuBar, ecc...
Solo che JDialog ha molti più costruttori. Devi usare quello per passare un frame potendo anche specificare che la dialog è "modale" (ma c'è anche il metodo setModal comunque). Appena farai tuaDialog.setVisible(true), il frame associato diventa non più usabile fino a quando non chiudi la dialog modale.
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
piccolo problemino , quando aggiungo this.setModal(true) , il mio form viene inizializzato ristretto, e lo devo ridimensionare manualmente. come mai? Vorrei postare il codice ma la classe è lunghissima !
Ho utilizzato anche il metodo setModalityType, e si ripete il problema.. se non uso questi metodi la finestra è caricata correttamente!
Ultima modifica di linux_r; 03-04-2014 a 10:15
Allora ho risolto mettendo il metodo alla fine , quindi dopo il metodo pack(). Ma come mai questa cosa?