Java - Java: Otra forma de hacer esto

 
Vista:

Java: Otra forma de hacer esto

Publicado por Nahuel (5 intervenciones) el 19/12/2010 05:17:14
Creo una ventana y dsp quiero obtener los datos de la ventana (luego de apretar boton) dentro del metodo actionPerformed del actionListener del boton para enviarlo a un metodo (ingresarSocio(params...)), pero me obliga a declarar como variable final a los textfields, entiendo que es porque estoy en un metodo de otra clase y esta necesita visibilidad de las variables, pero hay alguna otra forma sin que tenga que declara final?La otra se que es declarando tooodos los textFields globales pero tampoco es mi idea.
...
public void ventanaIngresarSocio() {
fIngSoc = new JFrame("Nuevo Socio");

final JTextField tfNombre = new JTextField(20);

final JTextField tfApellido = new JTextField(20);

final JTextField tfDireccion = new JTextField(30);

final JTextField tfTelefono = new JTextField(16);

final JTextField tfDocumento = new JTextField(8);

JButton bRegistrar=new JButton(“Registrar”);
bRegistrar.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String nomSocio = tfNombre.getText();
String apSocio = tfApellido.getText();
String dirSocio = tfDireccion.getText();
String varTel = tfTelefono.getText();
int telSocio = Integer.parseInt(varTel);
String varDoc = tfDocumento.getText();
int docSocio = Integer.parseInt(varDoc);
ingresarSocio(nomSocio, apSocio, docSocio, telSocio, dirSocio);

}
});
...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Java: Otra forma de hacer esto

Publicado por Leito (33 intervenciones) el 20/12/2010 20:08:29
A ver si entendi. Creo que esta es una forma

public class TuClase{

private JTextfield tfNombre;
private JTextField tfApellido
...
...
}
public void ventanaIngresarSocio() {

fIngSoc = new JFrame("Nuevo Socio");

tfNombre = new JTextField(20);

tfApellido = new JTextField(20);

tfDireccion = new JTextField(30);

tfTelefono = new JTextField(16);

tfDocumento = new JTextField(8);

JButton bRegistrar=new JButton(“Registrar”);
bRegistrar.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String nomSocio = tfNombre.getText();
String apSocio = tfApellido.getText();
String dirSocio = tfDireccion.getText();
String varTel = tfTelefono.getText();
int telSocio = Integer.parseInt(varTel);
String varDoc = tfDocumento.getText();
int docSocio = Integer.parseInt(varDoc);
ingresarSocio(nomSocio, apSocio, docSocio, telSocio, dirSocio);

}
});

Fijate si te sirve maquina!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Java: Otra forma de hacer esto

Publicado por Nahuel (5 intervenciones) el 20/12/2010 22:13:16
Claro!! Esta es otra forma, pero no queria tampoco asi, ya que en mi programa tengo un monton de ventanas con infinidad de textFields, y la otra es crear una sola variable private que sea un arreglo de textFields para solventar todas las ventanas de mi programa que necesiten textField, bueno, gracias igual, me parece que esas son las unicas formas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar