Java - Problema al acceder a una variable

 
Vista:

Problema al acceder a una variable

Publicado por Alejandro (279 intervenciones) el 14/06/2005 20:15:08
Saludos compañeros, al acceder a una variable de una clase me da el siguiente error (al acceder a la variable dt_modelo, en la clase Datos_automata_aleatorio): "local variable dt_modelo is accessed from within inner class; needs to be declared final" y no se por que me sale este error, si lo hago igual que en otra clase, y no me da erro, y es practicamente el mismo codigo.
Por favor, ayudarme que estoy muy atascao con esto ultimo. Gracias.

public class Menu extends JPanel
{
DefaultTableModel dtm;
...
// defino los actionListener de un menu
actionListener al_generar=new ActionListener()
{
public void actionPerformed (actionEvent e)
{
new Datos_automata_aleatorio(dtm);
}
}
}

y el codigo de la clase Datos_automata_aleatorio es:

class Datos_automata_aleatorio extends JPanel
{
// creación de distintos paneles
public void
escribir_en_fichero_y_generar_aleatorio
(DefaultTableModel dtm_aleat)
{
new Generar_aleatorio(dimension, long_max, car_alfabeto, num_cad_pos, num_cad_neg, dtm_aleat);

}
}

Datos_automata_aleatorio(DefaultTableModel dt_modelo)
{
crear.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
escribir_en_fichero_y_generar_aleatorio(dt_modelo);
// en la linea anterior es donde me da el error
}
} ); // fin del action listener

p.add (...); // añadir en el panel principal todos los demas

JFrame m=new JFrame();
m.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
m.getContentPane().add(p);
m.setSize(300,450);
m.setTitle("Automata aleatorio");
m.setVisible(true);

}
}

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
sin imagen de perfil
Val: 755
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

RE:Problema al acceder a una variable

Publicado por Yamil Bracho (2315 intervenciones) el 14/06/2005 21:55:18
Cuando accedes a un variable de una clase externa en una interna la debes declarar con final. Cambia a :

public void escribir_en_fichero_y_generar_aleatorio (final DefaultTableModel dtm_aleat)
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:Problema al acceder a una variable

Publicado por Alejandro (279 intervenciones) el 14/06/2005 22:31:45
Buffff, me sigue dando el mismo error, toi desesperaoooo. Me podrias ayudar ???? Gracias.
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:Problema al acceder a una variable

Publicado por Alejandro (279 intervenciones) el 16/06/2005 02:12:24
Me podriais ayudar por favorr ??? es que estoy muy atascado, por favor, y no se como le podria pasar esa variable al actionListener, por favor.
Graciass.
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
sin imagen de perfil
Val: 755
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

RE:Problema al acceder a una variable

Publicado por Yamil Bracho (2315 intervenciones) el 16/06/2005 03:57:10
Creo que declarando la variable como una propiedad . Asi te quedaria

class Datos_automata_aleatorio extends JPanel
{
DefaultTableModel dt;

public Datos_automata_aleatorio( DefaultTableModel dtm ) {
dt = dtm;
}

...
Usa entonces dt en el codigo de esta clase
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:Problema al acceder a una variable

Publicado por Alejandro (279 intervenciones) el 16/06/2005 04:49:31
Muchas gracias por tu ayuda.
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