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

¿Cómo se activa el scroll de un jSrollPane?

Estas en el tema de ¿Cómo se activa el scroll de un jSrollPane? en el foro de Java en Foros del Web. Hola tengo un JScrollPane y no consigo que me funcione el scroll vertical, le doy pero no se mueve hacia abajo. ¿Alguien sabría cómo hacerlo? ...
  #1 (permalink)  
Antiguo 21/10/2003, 10:59
 
Fecha de Ingreso: septiembre-2003
Mensajes: 142
Antigüedad: 20 años, 7 meses
Puntos: 0
Pregunta ¿Cómo se activa el scroll de un jSrollPane?

Hola tengo un JScrollPane y no consigo que me funcione el scroll vertical, le doy pero no se mueve hacia abajo.
¿Alguien sabría cómo hacerlo?

Muchas gracias.

  #2 (permalink)  
Antiguo 21/10/2003, 11:38
Avatar de kripton  
Fecha de Ingreso: diciembre-2002
Ubicación: Zaragoza
Mensajes: 296
Antigüedad: 21 años, 4 meses
Puntos: 0
Hola ross_av!!!

Un poquillo más de info no nos vendría mal :p

De todos modos voy a imaginar que tienes un JScrollPane por el mundo y dentro de él una JTable que supera el tamaño de dicho panel. Entonces supongo que tu problema es que no se muestran las flechas del JScrollPane, o que se muestran y aunque pinchas no hacen nada

Bueno pues si ese es el problema comprueba que añades la tabla al JScrollPane con esta intrucción:
Código:
        JTable tabla = new JTable(vectorDatos, vectorCabecera);
        JScrollPane jScrollPane = new JScrollPane();
        jScrollPane.setViewportView(tabla);
Asegurandote que no haces un jScrollPane.add(tabla);

Ya nos contarás como te va,
un saludo,
kripton
__________________
Hoy por ti, mañana por mi. Compartiendo entre amigos.

Usuario Registrado Linux #327495
  #3 (permalink)  
Antiguo 21/10/2003, 11:50
 
Fecha de Ingreso: septiembre-2003
Mensajes: 142
Antigüedad: 20 años, 7 meses
Puntos: 0
Todo eso ya lo tengo puesto, no tengo nada más referente al jScrollPane lo q no sé es si he d activar alguna propiedad referente al scroll vertical para que se mueva.
  #4 (permalink)  
Antiguo 21/10/2003, 13:11
Avatar de kripton  
Fecha de Ingreso: diciembre-2002
Ubicación: Zaragoza
Mensajes: 296
Antigüedad: 21 años, 4 meses
Puntos: 0
En teoría no hace falta nada más, de hecho si ejecutas el código de ejemplo que te pase el otro día
Código:
import javax.swing.*;
import java.util.Vector;

public class Pruebas {
    public static void main(String[] args) {
        Vector vectorDatos = new Vector();
        for(int i = 0; i < 10; i++){
            Vector vectorAux = new Vector();
            vectorAux.add("1");
            vectorAux.add("2");
            vectorAux.add("3");
            vectorDatos.add(vectorAux);
        }
        Vector vectorCabecera = new Vector();
        vectorCabecera.add("Columna1");
        vectorCabecera.add("Columna2");
        vectorCabecera.add("Columna3");
        JFrame ventana = new JFrame();
        JTable tabla = new JTable(vectorDatos, vectorCabecera);
        JScrollPane jScrollPane = new JScrollPane();
        jScrollPane.setViewportView(tabla);
        ventana.getContentPane().add(jScrollPane);
        ventana.pack();
        ventana.setVisible(true);
    }
}
y disminuyes el tamaño vertical de la ventana, automáticamente te aparecen las flechas de scroll y puedes utilizarlas para desplazarte.

Saludos,
kripton
__________________
Hoy por ti, mañana por mi. Compartiendo entre amigos.

Usuario Registrado Linux #327495
  #5 (permalink)  
Antiguo 24/02/2012, 08:32
 
Fecha de Ingreso: febrero-2012
Mensajes: 5
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: ¿Cómo se activa el scroll de un jSrollPane?

Aunque se que el tema es muy antiguo, quiero responder porque a mi me pasó y no encontré respuesta por ningún lado. Quiero entonces que a otros no les pase.

Para que funcione bien, el contenedor del JScrollPane debe tener un Layout. Por ejemplo, si usas un JPanel dentro del JScrollPane no puedes decirle al JPanel SetLayout(null). Debes dejarle uno, cualquiera: FlowLayout, BoxLayout, GridLayout, BorderLayout, GridBagLayout, etc.

Espero que a alguien le sirva.
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 16:14.