JScrollPane, JTable y scroll horizontal

Estaba implementando una interfaz gráfica con Java, y quería insertar un objeto JTable dentro de un JScrollPane. La tabla era más grande que el JScrollPane, pero pese a ello, no se porqué sólo se mostraba el scroll vertical. Gasté mucho tiempo leyendo manuales de Swing, revisando mi código… Era algo muy simple y todo parecía estar bien, pero entonces… ¿por que no funcionaba?

Finalmente, encontré la solución: resulta que hay un bug en Java que aparece cuando quieres usar una JTable dentro de un JScrollPane. La solución fue crear una clase que extendiera a JTable, para poder sobreescribir el método JTable.getScrollableTracksViewportWidth() por este otro:

public boolean getScrollableTracksViewportWidth() {

if (autoResizeMode != AUTO_RESIZE_OFF) {

if (getParent() instanceof JViewport) {

return (((JViewport)getParent()).getWidth() > getPreferredSize().width);

}

}

return false;

}

Fuente: DaniWeb Forum

Bookmark and Share

No Comments yet »

Suscripción RSS a los comentarios de esta entrada. TrackBack URI

Dejar un comentario

XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Powered by WordPress with GimpStyle Theme design by Horacio Bella.
Entries and comments feeds. Valid XHTML and CSS.