JScrollPane: Desplazamiento
Jerarquía de JScrollPane
1. Raíz Común
java.lang.Object
Funcionamiento del “Viewport”
Section titled “Funcionamiento del “Viewport””El JScrollPane funciona como una ventana corredera:
- El Viewport es el área visible.
- El Componente Cliente es el objeto real que contiene los datos.
- Las ScrollBars aparecen dinámicamente según sea necesario.
Concepto de Viewport en JScrollPane
1. El Componente Cliente
Representa el contenido total (ej: una imagen gigante o una tabla con miles de filas).
Configuración de Políticas
Section titled “Configuración de Políticas”Puedes controlar cuándo aparecen las barras mediante métodos o en el constructor:
| Constante | Comportamiento |
|---|---|
VERTICAL_SCROLLBAR_ALWAYS | La barra vertical siempre está visible. |
VERTICAL_SCROLLBAR_AS_NEEDED | Solo aparece si el texto sobresale (Por defecto). |
HORIZONTAL_SCROLLBAR_NEVER | Nunca muestra la barra horizontal (ideal con lineWrap). |
Implementación Correcta
Section titled “Implementación Correcta”import javax.swing.*;
public class EjemploScroll extends JFrame { public EjemploScroll() { JTextArea area = new JTextArea(20, 30);
// FORMA CORRECTA: Metemos el área dentro del scroll JScrollPane scroll = new JScrollPane(area);
// Configuramos políticas si es necesario scroll.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
// Añadimos el CONTENEDOR (scroll), no el área directamente this.add(scroll);
this.setSize(400, 300); this.setVisible(true); }}¿Por qué hereda de JComponent?
Section titled “¿Por qué hereda de JComponent?”A diferencia del JScrollPane de AWT, el JScrollPane de Swing es un componente ligero que permite personalización extrema de las barras, el fondo y hasta los botones de las esquinas.