Foros del Web » Programación para mayores de 30 ;) » Java »

Scroll en Jlist

Estas en el tema de Scroll en Jlist en el foro de Java en Foros del Web. Buenas a todos, por favor necesito ayuda ya estoy desesperado de probar mil ejemplos que he visto en el foro y otras webs. La cosa ...
  #1 (permalink)  
Antiguo 30/07/2006, 04:36
pr0
 
Fecha de Ingreso: marzo-2004
Mensajes: 687
Antigüedad: 20 años, 1 mes
Puntos: 28
Scroll en Jlist

Buenas a todos,
por favor necesito ayuda ya estoy desesperado de probar mil ejemplos que he visto en el foro y otras webs.

La cosa es que necesito poner scroll a un Jlist pero de ninguna manera aparece el dichoso scroll. Lo ultimo que he probado es:
Código PHP:
lista = new JList(modelo);
lista .setPreferredSize(new java.awt.Dimension(100,100));
lista .setLocation(new java.awt.Point(3,3));
lista .setSize(new java.awt.Dimension(221,292));
javax.swing.JScrollPane barra = new javax.swing.JScrollPane(lista);
barra.getViewport().add(lista );
this.getContentPane().add(barranull);
.............
abajo añado suficientes valores al JList como para que aparezca el scroll 
Si alguien me puede ayudar por favor se lo agracedería mucho.

Saludos
  #2 (permalink)  
Antiguo 30/07/2006, 07:40
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Hola:

Al JList no le pongas tamaño ni posición ni preferredsize ni nada de nada. Ella solita debería encargarse de ello y el JScrollPane de tenerlo en cuenta.

Basta que pongas el JList en el constructor del JScrollpane o bien llamando al metodo setViewportView(lista), pero sólo con uno de llos vale.

Veo además que metes el JScrollPane en una ventana. Depende mucho del Layout de esta ventana el que luego la lista y el JScrollpane alcancen o no el tamaño adecuado y salga la barra de scroll. Si el sitio donde lo estás metiendo es un JFrame o JDialog, no le cambies al Layout (por defecto tiene un BorderLayout) y mételo en el BorderLayout.CENTER asi

lista = new JList(modelo);
javax.swing.JScrollPane barra = new javax.swing.JScrollPane(lista);
this.getContentPane().add(barra, BorderLayout.CENTER);

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 30/07/2006, 07:48
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Lo primero, algunos ejemplos más, por si no los habias visto:
http://java.sun.com/docs/books/tutor...ents/list.html

Lo segundo, ... //EDIT era lo mismo que ya te ha dicho chuidiang asi que no lo repetiré

Saludos
  #4 (permalink)  
Antiguo 30/07/2006, 10:01
pr0
 
Fecha de Ingreso: marzo-2004
Mensajes: 687
Antigüedad: 20 años, 1 mes
Puntos: 28
muchas gracias por responder amigos pero sigo sin conseguirlo :(
estoy empezando a perder el animo de aprender Java. Os pongo el codigo que tengo ahora:

Código PHP:
if (lista == null) {
    
javax.swing.DefaultListModel modelo = new javax.swing.DefaultListModel();
    
lista  = new JList(modelo);
    
lista.setPreferredSize(new java.awt.Dimension(100,100));
    
lista.setLocation(new java.awt.Point(3,3));
    
lista.setSize(new java.awt.Dimension(221,292));
    
javax.swing.JScrollPane barra = new javax.swing.JScrollPane(lista);
    
barra.setPreferredSize(new java.awt.Dimension(100,100));
    
this.getContentPane().add(barrajava.awt.BorderLayout.CENTER);

Si quito el setPreferredSize, setLocation, setSize de la lista entonces no me aparece en el JFrame, es decir, no se ve la lista.
El JFrame tiene el Layout a null porque sino no puedo acomodar los componentes a mi gusto.

A ver si me podeis echar una manita, muchas gracias a todos.
  #5 (permalink)  
Antiguo 31/07/2006, 01:10
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Apostaría a que el problema es poner el Layout a null, por que si haces eso entonces has de hacer tu a mano cosas que los layouts te hace "de forma natural". La prueba es fácil, ponle un BorderLayout a ver si sale el scroll etc, y entonces verás si es por eso.

S!
  #6 (permalink)  
Antiguo 03/06/2009, 22:14
 
Fecha de Ingreso: junio-2009
Mensajes: 1
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: Scroll en Jlist

tal vz un poco tarde, pero vale la pena....solo debes omitir el setPreferedSize del JList.
  #7 (permalink)  
Antiguo 07/01/2010, 17:10
 
Fecha de Ingreso: enero-2010
Mensajes: 1
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Scroll en Jlist

Es muy facil aca te paso el codigo:

obviamente el scroll aparece una vez que hay un cierta cantidad de items en el jlist.

osea cuando ya hay uno que no se veria.

JList lista=new JList();

lista.setFont(new Font("Times-Roman", Font.BOLD, 20)); //Esto te demas pero esta bueno es para definirle el tipo y tamaño del texto.

JScrollPane scroll=new JScrollPane(lista);

luego agregas scroll en el jpanel o donde quieras hacerlo.
Saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:33.