Ver Mensaje Individual
  #2 (permalink)  
Antiguo 22/10/2008, 13:38
Avatar de HackmanC
HackmanC
 
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 3 meses
Puntos: 260
Sonrisa Respuesta: Ajustar tamaño de ScrollTable a Table

Hola,

Cita:
Iniciado por laura_morgar Ver Mensaje
... Esta tabla la tengo metida en un JScrollTable que inicialmente le doy un tamaño ...
... Me gustaría que una vez que tengo la tabla rellena, redefinir el tamaño del scroll al mismo ancho de la tabla ...
¿JScrollTable? ... No es parte de la API a mi conocimiento ... si te refieres a JScrollPane entonces no creo que exista una forma sencilla de realizar ese procedimiento. El tamaño del JScrollPane está definido por el Layout y no por width / height.

El contenedor contiene un Layout (cualquiera que hayas utilizado), este Layout 'contiene' un JScrollPane y este a su vez el JTable. Cuando cambias el tamaño del JTable, el JScrollPane permite mostrar los scroll bars (horizontal y vertical) para moverse entre el espacio que no se puede mostrar.

Pero si cambias el tamaño del JScrollPane, tienes que volver a ajustar el Layout, para que vuelva a ajustar todos los componentes sobre el contenedor; y es muy probable que el Layout vuelva a cambiarle al tamaño inicial, para que ocupe el espacio disponible.

"El JScrollPane, por defecto, no muestra los scroll bars cuando el tamaño de la tabla es menor que el espacio disponible."

Al final todo depende del Layout que hayas utilizado y si este respeta el PreferredSize().

Cita:
Iniciado por laura_morgar Ver Mensaje
El problema es que cuando le pido a la tabla el tamaño (he probado con tabla.getSize().height/width y con tabla.getWidth() / tabla.getHeight()) me dice que el tamaño es 0,0 (alto,ancho).
Si estas usando tabla.getWidth() antes que se haya mostrado completamente el JFrame es muy posible que te devuelva 0, puesto que todavía no se han calculado todos los tamaños de los componentes. (tabla.getWidth() sí te devuelve el ancho de la tabla, una vez que está desplegada)

Saludos,

Última edición por HackmanC; 22/10/2008 a las 13:46 Razón: preferredSize()