
Problema botón actualizar
Publicado por matias (5 intervenciones) el 14/03/2017 17:20:05
Hola buen día, tengo JPanel en el cual debería mostrarme todos los discos duros del ordenador, y funciona perfectamente pero quiero implementar un botón "actualizar" para que se actualicen los discos y no me funciona!
Dejo el código de este JPanel:


Así se ve cuando inicio

y cuando toco actualizaR

JPanel_Disco son los "mini JPanel" de cada disco (por ejemplo el que está con borde verde)
los agrego a un arraylist porque si son varios tengo que saber cual está seleccionado, y después los agrego al JPanel, cuando lo hago la primera vez se ve perfecto pero cuando quiero actualizar no lo muestra.
Si yo elimino esta linea del botón:
array_disco = new ArrayList<JPanel_Disco>();
Me quedaría así:
discos2.removeAll();
En este caso me debería mostrar los discos que tenía, volver a buscar y mostrarme los que tenía + los que encontró nuevos o no.
Como detectaría el mismo que ya tenía antes me tendría que mostrar el disco C dos veces, y lo hace, funciona perfecto.
el problema es cuando hago
verifiqué que en el for encuentro el disco, y que se ejecute el add y se ejecuta, estoy hace horas intentando entender por qué no lo muestra.
Dejo el código de este JPanel:


Así se ve cuando inicio

y cuando toco actualizaR

JPanel_Disco son los "mini JPanel" de cada disco (por ejemplo el que está con borde verde)
los agrego a un arraylist porque si son varios tengo que saber cual está seleccionado, y después los agrego al JPanel, cuando lo hago la primera vez se ve perfecto pero cuando quiero actualizar no lo muestra.
Si yo elimino esta linea del botón:
array_disco = new ArrayList<JPanel_Disco>();
Me quedaría así:
discos2.removeAll();
1
2
3
4
5
6
7
8
9
10
File f = new File(".");
File[] roots = f.listRoots();
for (int i = 0; i < roots.length; i++) {
if (roots[i].canRead() == true) {
array_disco.add(new JPanel_Disco(roots[i].getAbsolutePath(), i, parent));
}
}
for (int i = 0; i < array_disco.size(); i++) {
discos2.add(array_disco.get(i));
}
En este caso me debería mostrar los discos que tenía, volver a buscar y mostrarme los que tenía + los que encontró nuevos o no.
Como detectaría el mismo que ya tenía antes me tendría que mostrar el disco C dos veces, y lo hace, funciona perfecto.
el problema es cuando hago
1
array_disco = new ArrayList<JPanel_Disco>();
verifiqué que en el for encuentro el disco, y que se ejecute el add y se ejecuta, estoy hace horas intentando entender por qué no lo muestra.
Valora esta pregunta


0