Comunicar clase con JButton
Publicado por Jordi (135 intervenciones) el 02/08/2017 19:45:40
Hola gente,
hace un par o tres de meses ya me surgió este mismo problema y no supe solucionarlo.
Pese a todo, como no era de alta prioridad terminar mi programa lo dejé a medias y al final ha quedado casi en el olvido.
Pero ahora, haciendo un programa totalmente distinto me ha aparecido ese puñetero problema otra vez y no hay manera de que se me ocurra por donde tomarlo, os cuento:
Tengo una lista de botones que cada uno de ellos debe abrir un archivo en específico. Estos botones aparecen mediante una pequeña función que busca todos los archivos de una carpeta y crea los botones ya dichos. Tengo hecha la parte que hace aparecer los botones con el nombre del archivo que corresponden, pero hay algo que no logro hacer. Es hacer que el programa sepa que archivo abrir cuando un botón se ha pulsado. He hecho el siguiente código pero no me funciona y no se me ocurre absolutamente nada para continuar :(
Osea, que no encuentro la manera de transferir una información desde una clase que los tiene almacenados a la otra cuando se dispara el evento ya que me salta un error de compilación diciendo que la "i" tiene que ser final. ¿Alguna sugerencia? ¿Que se me está escapando? He pensado en hacer que sean los botones quienes almacenan la información de la ruta a abrir, pero no se me ocurre tampoco como transferir esa información a la clase de superioridad jerárquica cuando se dispara el actionPerformed.
No hace falta que me dejeis un código del copón con el problema resuelto al 100%, sólo necesitaría que me dijerais como estructurar el programa para que no me pasen estas cosas o si hay alguna sentencia que sea necesaria para esto que desconozca.
Muchas gracias.
hace un par o tres de meses ya me surgió este mismo problema y no supe solucionarlo.
Pese a todo, como no era de alta prioridad terminar mi programa lo dejé a medias y al final ha quedado casi en el olvido.
Pero ahora, haciendo un programa totalmente distinto me ha aparecido ese puñetero problema otra vez y no hay manera de que se me ocurra por donde tomarlo, os cuento:
Tengo una lista de botones que cada uno de ellos debe abrir un archivo en específico. Estos botones aparecen mediante una pequeña función que busca todos los archivos de una carpeta y crea los botones ya dichos. Tengo hecha la parte que hace aparecer los botones con el nombre del archivo que corresponden, pero hay algo que no logro hacer. Es hacer que el programa sepa que archivo abrir cuando un botón se ha pulsado. He hecho el siguiente código pero no me funciona y no se me ocurre absolutamente nada para continuar :(
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//Un montón de código...
JButton[] botones = obtenerBotones();
String[] rutas = obtenerRutas();
for(int i = 0; i < botones.lenght; i++){
botones[i].addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent arg0) {
abrirArchivo(rutas[i]);
}
}
}
//Otro montón de código...
No hace falta que me dejeis un código del copón con el problema resuelto al 100%, sólo necesitaría que me dijerais como estructurar el programa para que no me pasen estas cosas o si hay alguna sentencia que sea necesaria para esto que desconozca.
Muchas gracias.
Valora esta pregunta


0