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);
}
}
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


0