Ho creato un modulo utilizzando Swing in Java.Nella forma ho usato un campo di testo su cui devo impostare lo stato attivo ogni volta che premo il tasto. Come impostare lo stato attivo su un particolare componente in Java?Come si imposta lo stato attivo su Textfield in Swing?
risposta
Component.requestFocus()
ti darebbe quello che ti serve?
Grazie, vediamo se funziona per me o meno –
Mi ci sono voluti cinque minuti per trovarlo ... così tanto per la ricerca "semplice" :-(- ah beh, i documenti API Java non sono un paragone di chiarezza comunque :-) – Joey
FYI, il [javadocs per JComponent] (http://docs.oracle.com/javase/7/docs/api/index.html) dice di 'requestFocus()', "uso di questo il metodo è sconsigliato perché il suo comportamento dipende dalla piattaforma raccomandiamo l'uso di [requestFocusInWindow()] (http://docs.oracle.com/javase/7/docs/api/javax/swing/JComponent.html#requestFocusInWindow()). Per ulteriori informazioni sulla messa a fuoco, vedere [Come utilizzare il sottosistema Focus] (http://java.sun.com/docs/books/tutorial/uiswing/misc/focus.html), una sezione in The Java Tutorial . " –
Ora che abbiamo cercato l'API, tutto ciò che dobbiamo fare è leggere l'API.
Secondo la documentazione API:
"Poiché il comportamento focus di questo metodo dipende dalla piattaforma, sviluppatori sono fortemente incoraggiati a uso requestFocusInWindow quando possibile".
Questo funzionerebbe ..
SwingUtilities.invokeLater(new Runnable() {
public void run() {
Component.requestFocus();
}
});
Si noti che tutto ciò non riesce per qualche motivo in un JOptionPane. Dopo molti tentativi ed errori (più di quanto sopra indicati 5 minuti, in ogni caso), qui è quello che alla fine ha funzionato:
final JTextField usernameField = new JTextField();
// ...
usernameField.addAncestorListener(new RequestFocusListener());
JOptionPane.showOptionDialog(this, panel, "Credentials", JOptionPane.OK_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE, null, null, null);
public class RequestFocusListener implements AncestorListener {
@Override
public void ancestorAdded(final AncestorEvent e) {
final AncestorListener al = this;
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
final JComponent component = e.getComponent();
component.requestFocusInWindow();
component.removeAncestorListener(al);
}
});
}
@Override
public void ancestorMoved(final AncestorEvent e) {
}
@Override
public void ancestorRemoved(final AncestorEvent e) {
}
}
grazie per questa soluzione. Questo è l'unico modo – MyPasswordIsLasercats
Si può usare anche JComponent.grabFocus();
è lo stesso
Javadoc per [JComponent.grabFocus()] (http://docs.oracle.com/javase/8/docs/api/javax/swing/JComponent.html#grabFocus--) afferma esplicitamente che questo metodo dovrebbe non può essere utilizzato dal codice client e suggerisce di utilizzare il metodo 'requestFocusInWindow()', che è già menzionato in altre risposte. –
- 1. Come impostare lo stato attivo su un materiale TextField?
- 2. Imposta lo stato attivo su un componente con Apache Wicket?
- 3. Impostare lo stato attivo su un pulsante
- 4. Come impostare lo stato attivo su un elemento in Elm?
- 5. imposta lo stato attivo sul corpo/contenuto iframe in firefox?
- 6. Java imposta lo stato attivo su jbutton quando si preme Invio
- 7. Come si cancella lo stato attivo in javascript?
- 8. Datagrid Imposta lo stato attivo sulla riga appena aggiunta
- 9. Come si imposta lo stato attivo di un elemento textarea TinyMCE?
- 10. Imposta lo stato attivo di voiceover su una specifica cella di tabella in uitableview (UIAaccessibility)
- 11. Come impostare lo stato attivo su un'altra finestra?
- 12. Come impostare lo stato attivo su UserControl (renderlo selezionabile)?
- 13. Come impostare lo stato attivo su una finestra modale javascript?
- 14. JavaScript: errore di visibilità in Internet Explorer quando si imposta lo stato attivo su un elemento di input
- 15. Impostare lo stato attivo su UITextField in tableCell
- 16. Rcpp imposta lo stato RNG su uno stato precedente
- 17. verifica lo stato dell'utente (attivo, inattivo) su una pagina Web
- 18. Come si imposta a livello di programmazione l'elemento SelectedItem in un ListBox WPF che ha già lo stato attivo?
- 19. WPF: Impossibile impostare lo stato attivo
- 20. Summernote: impostare lo stato attivo dopo l'inizializzazione
- 21. Come si imposta lo stato su cui si fa clic per il mio pulsante personalizzato?
- 22. TextField() Imposta posizione del cursore
- 23. Sposta lo stato attivo su un campo particolare
- 24. Impostare lo stato attivo sull'elemento contented div
- 25. Come rimuovere lo stato attivo sumousedown in IE?
- 26. Forza lo stato attivo su un elemento con un'eccezione. (jQuery)
- 27. Come ottenere un evento quando il controllo del testo perde lo stato attivo?
- 28. Bootstrap 3 Scrollspy rimuove lo stato attivo
- 29. editText non perde lo stato attivo
- 30. Come impostare lo stato attivo del widget Tkinter?
10 domande, nessuno di loro risposte accettate ... –