Ho un JFrame con 3 JTextField dove voglio inserire le coordinate X, Y e Z di un punto P.
In pratica vorrei poter scrivere un numero nella prima JTextField di nome X e salvare tale valore nella prima posizione dell'array "record" con la pressione del tasto invio. Inoltre vorrei che dopo aver premuto invio il focus passasse automaticamente alla JTextField successiva e così via fino alla terza. Quando arrivo all'ultima JTextField vorrei che il focus fosse spostato nuovamente alla prima JTextField e fossero cancellati tutti i valori precedentemente scritti.
Il vettore "record" deve essere dato in pasto a un metodo solo quando sono nella terza JTextField e premo invio. Quando ritorno alla prima JTextField il vettore "record" deve essere svuotato.
Per fare questo ho premuto sulla prima JTextField, ho scelto proprietà e ho aggiunto l'evento keyTiped. Dentro il nuovo metodo scritto da NetBeans ho inserito:
Il metodo funziona anche quando premo un tasto che non è invio. Come posso risolvere?codice:private void votanteKeyTyped(java.awt.event.KeyEvent evt) { String[] record = new String[3]; record[0] = X.getText(); System.out.println(record[0]); }
In pratica vorrei arrivare a scrivere le 3 coordinate premendo solo 3 volte invio. Una cosa che non voglio fare è aggiungere un bottone ed associargli un preciso evento per riempire “record” perché dovrei premere 3 volte il tasto “Tab” e una volta il tasto sinistro del mouse per ogni coordinata rallentando così l’inserimento delle coordinate X, Y e Z.
![]()