Come posso fare in modo che quando preme entri in un JTextField attivi un JButton specifico? Quello che voglio dire è qualcosa sulla falsariga di un modulo di una pagina web in cui è possibile premere Invio per attivare il pulsante nel modulo. Grazie.Java imposta lo stato attivo su jbutton quando si preme Invio
risposta
è necessario utilizzare un Action
per la JButton
:
Action sendAction = new AbstractAction("Send") {
public void actionPerformed(ActionEvent e) {
// do something
}
};
JButton button = new JButton(sendAction);
Poi è possibile impostare la stessa azione per un JTextField
o anche su un MenuItem
se si desidera che la stessa azione sia disponibile nel menu:
JTextField textField = new JTextField();
textField.setAction(sendAction);
Qualcosa del genere dovrebbe funzionare:
textField.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e)
{
button.requestFocusInWindow();
}
});
ho appena provato e che mette i concentrati sul pulsante, ma non lo attiva. – LOD121
Non lo farà, il metodo requestFocusInWindow() fa quello che dice sullo stagno. Per simulare un clic, il metodo doClick() è ciò che stai cercando. – berry120
button.doClick(); funziona bene. Grazie. – LOD121
farei qualcosa come il seguente:
textField.addKeyListener(
new KeyAdapter() {
public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_ENTER) {
button.doClick();
}
}
});
}
è possibile raggiungere questo aggiungendo il comportamento default
al pulsante, come questo
cmdLogin.setDefaultCapable(true); // by default, this is true
this.getRootPane().setDefaultButton(cmdLogin); // here `this` is your parent container
- 1. Come si imposta lo stato attivo su Textfield in Swing?
- 2. Impostare lo stato attivo su un pulsante
- 3. Imposta lo stato attivo su un componente con Apache Wicket?
- 4. Modulo non inviato quando si preme invio
- 5. Datagrid Imposta lo stato attivo sulla riga appena aggiunta
- 6. commuta lo stato UIButton quando si preme, come un interruttore
- 7. salva lo stato quando si preme il pulsante Indietro
- 8. Java, imposta ID per JButton
- 9. Invio modulo quando si preme invio nell'area di testo
- 10. Disabilita il segnale acustico di sistema su TSpinEdit quando si preme Invio
- 11. KeyListener in Textfield non si attiva quando si preme Invio
- 12. imposta lo stato attivo sul corpo/contenuto iframe in firefox?
- 13. JavaScript: errore di visibilità in Internet Explorer quando si imposta lo stato attivo su un elemento di input
- 14. Come rendere SearchView perdere lo stato attivo e comprimere quando si fa clic altrove sull'attività
- 15. Come impostare lo stato attivo su un elemento in Elm?
- 16. JSF 2.0: richiesta Ajax quando si preme INVIO
- 17. L'attività di ricerca non viene avviata quando si preme invio
- 18. JButton copiato quando si ridisegna?
- 19. Imposta waypoint jQuery unstick quando si preme la sezione footer
- 20. Come si imposta lo stato attivo di un elemento textarea TinyMCE?
- 21. Errore TortoiseSVN quando si preme su Codeplex
- 22. Sposta lo stato attivo sulla cella successiva al tasto Invio Premere in WPF DataGrid?
- 23. selezione cambia colore quando Firefox perde lo stato attivo
- 24. Imposta lo stato attivo di voiceover su una specifica cella di tabella in uitableview (UIAaccessibility)
- 25. Imposta lo stato attivo sull'elemento dell'interfaccia utente utilizzando XAML o MVVM
- 26. Come si cancella lo stato attivo in javascript?
- 27. CEdit seleziona tutto quando ottiene lo stato attivo
- 28. Java - Metodo chiamata tramite JButton
- 29. Rcpp imposta lo stato RNG su uno stato precedente
- 30. verifica lo stato dell'utente (attivo, inattivo) su una pagina Web
+1, cool, non sapevo nemmeno del metodo setAction(). Ho sempre usato addActionListener. Ad ogni modo questa è la soluzione migliore. – camickr