Nwlapcug.com


Come spostarsi tra i fotogrammi in Java

Come spostarsi tra i fotogrammi in Java


Componenti GUI in Java utilizzano eventi di stato attivo e ascoltatori di messa a fuoco per determinare quando il loro windows è attualmente la finestra "attiva", che determina se gestisce l'input dalla tastiera. Per ottenere questo obiettivo, una finestra deve chiamare metodo ereditato "requestFocus()" o "toFront()". Il primo dà l'input da tastiera finestra, e quest'ultimo mette la finestra sopra alle altre finestre. Due classi di "frame" di Java, telaio e JFrame, sono entrambi i componenti che possono richiedere attenzione per se stessi o passa lo stato attivo su un altro telaio.

Istruzioni

1

Se si desidera un telaio per attirare l'attenzione, come in "myFrame.requestFocus();", chiamare il metodo "requestFocus()" o "toFront()"

2

Fissare un FocusListener al telaio. Se si dispone di un'istanza di JFrame chiamato "myFrame", questo viene fatto all'inizio con il codice riportato di seguito: "myFrame.addFocusListener (FocusListener() nuovo {Sub focusGained(FocusEvent e) {}});"

3

Definire il metodo di focusGained in modo che in caso di qualsiasi altra azione da intraprendere quando cambia lo stato attivo, è finita.

4

Ripetere il passaggio 1 tramite il passaggio 3 con le altre istanze di telaio.

Consigli & Avvertenze

  • Se si desidera passare tra i componenti in una singola finestra, utilizzare il metodo "requestFocusInWindow()" invece di "requestFocus()"
  • Non tutte le richieste per la messa a fuoco possono essere concessa immediatamente. Utilizzare focusGained per impostare un flag per indicare il tuo programma quando il telaio ottiene effettivamente lo stato attivo. Come Swing componenti non sono thread-safe, questo flag deve essere dichiarato come un tipo di dati volatili.