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

    [JAVA] disabilitare un parentComponent

    Ciao,
    diciamo che ho un una classe MyPanel che estende JPanel, e una classe MyFrame che estende JFrame. Un'istanza di MyPanel è contenuta in un'istanza di MyFrame.
    Posso disabilitare il frame dall'interno della classe MyPanel?
    grazie, spero di essermi spiegato.

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: [JAVA] disabilitare un parentComponent

    Originariamente inviato da gaetano_cont
    Posso disabilitare il frame dall'interno della classe MyPanel?
    Se ha il reference al frame, certo, puoi invocarci ovviamente setEnabled(false).

    Il punto è proprio solo "avere" il reference. E come fare per averlo .... ci sono svariati modi. Il modo più tipico è passare esplicitamente il reference al pannello. Qui entriamo in questioni di "design" delle classi e bisogna anche vedere dove è dichiarata la classe del pannello rispetto a quella del frame.

    Ma esiste anche un altro modo: la classe javax.swing.SwingUtilities ha un metodo:

    Window windowForComponent(Component c)

    Dato un componente (che può essere il this all'interno del tuo pannello) determina il Window che lo contiene. JFrame è-un Window. E nel tuo caso il reference al tuo frame lo avresti "vedendolo" però più in generale come Window (e se vuoi puoi fare un cast a JFrame dato che quello è ... anche se solo per invocare setEnabled() non sarebbe necessario).
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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.