Java - Añadir a jScrollPane desde ArrayList<JLabel>

 
Vista:
Imágen de perfil de Franklin
Val: 456
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

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:

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
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Añadir a jScrollPane desde ArrayList<JLabel>

Publicado por Tom (1831 intervenciones) el 09/01/2020 17:15:07
Es difícil entender por qué usas el camino más sinuoso ...
¿ No te parece más razonable esto ? :

1
2
3
JLabel lb = new JLabel(name);
lb.setText("Texto Ejemplo");
lista.add(lb);

Y, ¿ no crees que deberías aprender a usar el JScrollpane ?

https://www.google.com/search?q=jscrollpane
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
Imágen de perfil de Franklin
Val: 456
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Añadir a jScrollPane desde ArrayList<JLabel>

Publicado por Franklin (179 intervenciones) el 09/01/2020 18:26:23
Sucede que quiero agregar el label mientras se utiliza el sistema, por lo que puede variar según el uso. Por ende recurro a utilizar una Lista.
o está mas implementado?

sin problemas pude usar:

1
2
3
4
JLabel[] lista = new JLabel [5];
 
lista[1] = new JLabel();
...setText, setName....
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