Añadir a jScrollPane desde ArrayList<JLabel>
Publicado por Franklin (179 intervenciones) el 09/01/2020 14:53:58
Que tal como están?, el día de hoy tengo un problema con el siguiente planteamiento.
Estoy definiendo una Clase la cual con un List[] de tipo ArrayList<JLabel>, agrego cada vez que necesito un nuevo JLabel, los cuales a modo simplista le defino (Nombre,Texto, Bounds) , una vez genero un Nuevo valor en la Lista, este es agregado a un jScrollPane y lo repinto....
Sucede que con el código no me llega a agregar ningun valor, y por mas que llame al metodo generar, siempre queda en 1.
Que opinan? tienen una mejor forma de hacerlo?
Tengo lo Siguiente:
Estoy definiendo una Clase la cual con un List[] de tipo ArrayList<JLabel>, agrego cada vez que necesito un nuevo JLabel, los cuales a modo simplista le defino (Nombre,Texto, Bounds) , una vez genero un Nuevo valor en la Lista, este es agregado a un jScrollPane y lo repinto....
Sucede que con el código no me llega a agregar ningun valor, y por mas que llame al metodo generar, siempre queda en 1.
Que opinan? tienen una mejor forma de hacerlo?
Tengo lo Siguiente:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
public class ejemplo{
private List<JLabel> lista = new ArrayList<>(); // Mi Lista de JLabels
int columna=20; // Posicion x que usaré dentro del jScrollPane
int fila=10;// Posicion y que usaré dentro del jScrollPane
int ultimo=0; // Valor que utilizo para determinar el ultimo agregado, ver su posicion y asignar caracteristicas
private final int incremento = 20; // Incremento de Fila (y en jScrollPane)
}
public void generarObjecto(String name, JScrollPane r){
// name es el nombre que decido asignar y le mando el jScrollPane donde agregaré el objeto
lista.add(new JLabel(name));
ultimo=getLastAdd();
lista.get(ultimo).setName(name);
lista.get(ultimo).setText("Texto Ejemplo");
lista.get(ultimo).setBounds(columna,fila,80,20);
r.add(listaBotones.get(ultimo));
r.repaint();
fila+=incremento;
}
//Aqui obtengo el ultimo valor agregado
private int getLastAdd(){
int valor =0;
if(lista.size() ==0){
valor=0;
}else{
valor = lista.size() -1;
}
return valor;
}
Valora esta pregunta


0