Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > Como manejar varios jtextfields similares

Buenos días:
Quisiera saber como manejar en un bucle "for" o "while" varios Jtextfields cuyo nombre tienen el mismo prefijo por ejemplo: JText01, JText02, JText03, JText04 y JText05
while (numero < 6) {
. . . codigo
}

Gracias

marzo 13, 2015 | Unregistered CommenterJorgito

No, no puedes indexar en función del identificador de la instancia.
Puedes asignarles un nombre a cada uno, y usarlo como prefieras.

http://docs.oracle.com/javase/8/docs/api/java/awt/Component.html#setName-java.lang.String-

Pero no confundas el identificador con su "nombre".

marzo 13, 2015 | Registered Commenterchoces

¿Podrías ponerme un ejemplo?

Gracias

marzo 13, 2015 | Unregistered CommenterJorgito

Salida por Consola: test3

import java.util.HashMap;
import java.util.Map;
import javax.swing.JTextField;

public class NewJFrame extends javax.swing.JFrame {

/** Creates new form NewJFrame */
public NewJFrame() {
initComponents();
Map<JTextField, String> fields = new HashMap<>();
fields.put(jTextField1, jTextField1.getName());
fields.put(jTextField2, jTextField2.getName());
fields.put(jTextField3, jTextField3.getName());
fields.put(jTextField4, jTextField4.getName());

fields.keySet().stream().filter((JTextField field) -> "test3".equals(field.getName())).forEach((JTextField field) -> System.out.print(field.getName()));
}

/** This method is called from within the constructor to
initialize the form.
WARNING: Do NOT modify this code. The content of this method is
always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {

jTextField1 = new javax.swing.JTextField();
jTextField2 = new javax.swing.JTextField();
jTextField3 = new javax.swing.JTextField();
jTextField4 = new javax.swing.JTextField();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

jTextField1.setText("field1");
jTextField1.setName("test1"); // NOI18N

jTextField2.setText("field2");
jTextField2.setName("test2"); // NOI18N

jTextField3.setText("field3");
jTextField3.setName("test3"); // NOI18N

jTextField4.setText("field4");
jTextField4.setName("test4"); // NOI18N

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 122, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, 122, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jTextField3, javax.swing.GroupLayout.PREFERRED_SIZE, 122, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jTextField4, javax.swing.GroupLayout.PREFERRED_SIZE, 122, javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jTextField3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jTextField4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);

pack();
}// </editor-fold>

/**
@param args the command line arguments
*/
public static void main(String args[]) {
/* Create and display the form */
java.awt.EventQueue.invokeLater(() -> {
new NewJFrame().setVisible(true);
});
}

// Variables declaration - do not modify
private javax.swing.JTextField jTextField1;
private javax.swing.JTextField jTextField2;
private javax.swing.JTextField jTextField3;
private javax.swing.JTextField jTextField4;
// End of variables declaration
}

marzo 13, 2015 | Registered Commenterchoces