• Sábado 21 de Septiembre de 2024, 19:04

Autor Tema:  Problema Con Jscrollpane  (Leído 1672 veces)

bandro

  • Nuevo Miembro
  • *
  • Mensajes: 21
    • Ver Perfil
Problema Con Jscrollpane
« en: Miércoles 14 de Junio de 2006, 18:20 »
0
Hola a todos!

Tengo un problema con un JScrollPane. La idea es mostrar una serie de filas como si fuera una especie de hoja de calculo de excel, y como estas se me salen de la pantalla pues le pongo un JScrollPane. Los elementos de la hoja de calculo los meto dentro de un JPanel normal y corriente con un GridLayout, y cuando creo el JScrollPane le meto ese panel como argumento. Lo hago asi:

JScrollPane scroll = new JScrollPane(panelGeneral);
ventana.setContentPane(scroll);
ventana.setVisible(true);

Y luego ese resultado lo meto en la ventana (un JFrame).

Bien pues el problema que tengo, es q cuando el contenido sobrepasa lo q puede mostrar la ventana, sale la barra de desplazamiento horizontal (hasta ahi bien), pero la posicion de la barra es muy extraña, ya que está a la mitad del recorrido en vez de estar al principio que es lo que yo quisiera.

He intentado varias cosas...como por ejemplo

scroll.getViewport().setViewPosition(new Point(0,0))

ó

scroll.getHorizontalScrollBar() .setValue(0)

Y no surge efecto ninguna de las dos (y he comprobado que el valor de la barra horizontal realmente es 0, pero no se queda al principio del desplazamiento como quisiera). No se pq puede ser, pero estoy bastante desesperado ya...a ver si me podeis exar una mano por favor.

Muxas gracias.

jlsoriam

  • Nuevo Miembro
  • *
  • Mensajes: 19
    • Ver Perfil
Re: Problema Con Jscrollpane
« Respuesta #1 en: Domingo 25 de Junio de 2006, 06:27 »
0
Si puedes podrias mostrar aqui tu codigo para poder ayudarte mejor.
Saludos

Nagisa

  • Miembro MUY activo
  • ***
  • Mensajes: 119
  • Nacionalidad: es
    • Ver Perfil
Re: Problema Con Jscrollpane
« Respuesta #2 en: Lunes 26 de Junio de 2006, 19:47 »
0
Hola!!

La verdad es que yo nunca habia usado JScrollPane, pero para ver lo que me comentabas me he hecho un pequeño ejemplo y a mi la barra de scroll me sale bien.  :blink:

Como ha dicho jlsoriam, si puedes postear el codigo, mejor.  :)

Mi ejemplo es:

Código: Text
  1.  
  2. import javax.swing.*;
  3. import java.awt.*;
  4.  
  5. class TestScroll{
  6.  
  7.  JScrollPane sc;
  8.  JPanel pan;
  9.  JFrame f;
  10.  
  11.  public TestScroll(){
  12.   f = new JFrame("Prueba");
  13.   pan = new JPanel(new GridLayout(6,0,5,5));
  14.   sc = new JScrollPane(pan);
  15.  }
  16.  
  17.  public void init(){
  18.   for (int i = 0; i < 200&#59; i++) pan.add(new Button(""+i));
  19.  
  20.   f.add(sc, BorderLayout.CENTER);
  21.  
  22.   f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  23.  
  24.   f.setSize(500, 500);
  25.   f.setVisible(true);  
  26.  }
  27.  
  28.  public static void main(String args[]){
  29.   TestScroll test = new TestScroll();
  30.   test.init();
  31.  }
  32. }
  33.  
  34.  


Y adjunto la salida que me da.

Saludos.  :hola:
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.
   

alemag

  • Miembro MUY activo
  • ***
  • Mensajes: 180
    • Ver Perfil
Re: Problema Con Jscrollpane
« Respuesta #3 en: Martes 4 de Julio de 2006, 07:58 »
0
El codigo que tengo es:

tabla.setPreferredScrollableViewportSize(new Dimension (450, 100));
JScrollPane sc=new JScrollPane();
sc.setViewportView(tabla);
sc.setHorizontalScrollBarPolicy (...);
sc.setVerticasScrollBarPolicy (...);
panel_principal.add(sc, constraints);

Quiero que a partir de un cierto tamaño (450,100) me salgan las barras de scroll, y si la tabla es de un tamaño menor a ese, que las barras se ajusten al tamaño de la tabla si lo necesita, es que a veces me queda un espacio entre la tabla y el panel. Espero que me haya explicado y que me ayudeis. Gracias.