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

jTable scrolls

Estas en el tema de jTable scrolls en el foro de Java en Foros del Web. Hola a todos tengo un problema con el scroll de una tabla, el caso es que no me aparece... os adjunto el codigo (los datos ...
  #1 (permalink)  
Antiguo 09/11/2009, 05:50
 
Fecha de Ingreso: noviembre-2009
Mensajes: 2
Antigüedad: 14 años, 5 meses
Puntos: 0
jTable scrolls

Hola a todos

tengo un problema con el scroll de una tabla, el caso es que no me aparece...

os adjunto el codigo (los datos importantes) y a ver si veis el fallo en algun lado.


public class RealizarPedido extends JFrame {

private JPanel jContentPane = null;
private JTable jTable = null;


private JPanel getJContentPane() {
if (jContentPane == null) {
jContentPane.add(getJTable(), null);
}
return jContentPane;
}


private JTable getJTable() {
jTable = new JTable(mod); // si quereis os pongo el codigo donde relleno la tabla, pero no creo que tenga nada que ver.
jTable.setBounds(new Rectangle(17, 250, 500, 100));
jTable.enable(false);
jTable.getAutoscrolls();
jTable.getRowHeight(10);
JScrollPane scrollPane = new JScrollPane( jTable, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
jTable.setFillsViewportHeight(true);
return jTable;
}


a ver si alguien puede echarme una mano, os lo agradeceria mucho.

si necesitais que ponga cualquier informacion mas decirlo ;)

Gracias, un saludo.
  #2 (permalink)  
Antiguo 09/11/2009, 20:33
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 3 meses
Puntos: 260
Sonrisa Respuesta: jTable scrolls

Hola,

Cita:
Iniciado por MoralesKini Ver Mensaje
... a ver si veis el fallo en algun lado. ...
En casi todo los que mostraste ... es broma ...

Cita:
Iniciado por MoralesKini Ver Mensaje
if (jContentPane == null) {
jContentPane.add(getJTable(), null);
}
¿Si jContentPane es nulo entonces le agregas un JTable?
(Aunque supongo no mostraste todo el código)

Cita:
Iniciado por MoralesKini Ver Mensaje
private JTable getJTable() {
jTable = new JTable(mod); // si quereis os pongo el codigo donde relleno la tabla, pero no creo que tenga nada que ver.
.......
return jTable;
}
Le agregas al anterior jContentPane el resultado de este método (lo qué está en rojo). El resultado de este método es un JTable que ya estaba dentro del JScrollPane, pero no estas poniendo el JScrollPane dentro del jContentPane, sino el JTable directamente. (Es dificil explicar esta parte, si no la viste.)

Cita:
Iniciado por MoralesKini Ver Mensaje
jTable.setBounds(new Rectangle(17, 250, 500, 100));
Useless. (En el caso que tengas un Flow o BorderLayout)

Cita:
Iniciado por MoralesKini Ver Mensaje
jTable.enable(false);
Deprecated.

Cita:
Iniciado por MoralesKini Ver Mensaje
JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
jTable.setFillsViewportHeight(true);
return jTable;
Regresa el JTable y no el JScrollPane.

Si estas usando Eclipse ... porqué no seleccionas la opción 'JTable on JScrollPane' de la paletta de controles, en lugar de haber seleccionado solamente JTable, aunque no recuerdo en que versión fué incluida esa opción.

Saludos,
  #3 (permalink)  
Antiguo 09/11/2009, 20:39
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 3 meses
Puntos: 260
Sonrisa Respuesta: jTable scrolls

Hola,

Posiblemente,

Código:
	private JScrollPane getJTable() {
		JScrollPane scrollPane = null;
		if (jTable == null) {
			jTable = new JTable(5, 5);
			// jTable.setBounds(new Rectangle(17, 250, 500, 100));
			// jTable.enable(false);
			jTable.setEnabled(false);
			// jTable.getAutoscrolls();
			// jTable.getRowHeight(10);
			scrollPane = new JScrollPane(jTable,
					JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
					JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
			jTable.setFillsViewportHeight(true);
		}
		return scrollPane;
	}
Saludos,
  #4 (permalink)  
Antiguo 10/11/2009, 02:46
 
Fecha de Ingreso: noviembre-2009
Mensajes: 2
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: jTable scrolls

y bueno! muchisimas gracias HackmanC !!
por supuesto, a la primera no xD, pero ya he conseguido lo que queria!

gracias por la ayuda !!

un saludo !

  #5 (permalink)  
Antiguo 14/05/2011, 09:21
Avatar de ryor310575  
Fecha de Ingreso: febrero-2011
Mensajes: 54
Antigüedad: 13 años, 2 meses
Puntos: 2
Respuesta: jTable scrolls

Que tal a todos.

Tengo un problema relacionado con este post. Se trata de una JTable que esta dentro de un JScrollPane, la tabla recibe datos de un Result Set por lo que varia, pero las barras de desplazamiento solo me muestran 29 lineas. Lo que necesito es que se ajusten para mostrar toda la tabla. Espero que alguien me pueda mostrar algo que me ayude a orientarme en la solucion.

Uso NetBeans y el código que generó para hacerlo es el siguiente:

jPanel_repSalida = new javax.swing.JPanel();
jScrollPane1 = new javax.swing.JScrollPane();
jTable_repSalida = new javax.swing.JTable();

Para las caracteristicas del jPanel:
jPanel_repSalida.setMaximumSize(new java.awt.Dimension(800, 300));
jPanel_repSalida.setPreferredSize(new java.awt.Dimension(800, 300));
jPanel_repSalida.setLayout(new java.awt.GridBagLayout());

Para las caracteristicas del jTable:
jTable_repSalida.setPreferredSize(new java.awt.Dimension(800, 400));


Para las caracteristicas del jScrollPane1:
jScrollPane1.setAutoscrolls(true);
jScrollPane1.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
jScrollPane1.setPreferredSize(new java.awt.Dimension(800, 800));
jScrollPane1.setViewportView(jTable_repSalida);


Finalmente agrego el JScrollPane al JPanel
jPanel_repSalida.add(jScrollPane1, gridBagConstraints);

Última edición por ryor310575; 14/05/2011 a las 09:49 Razón: Falto el codigo
  #6 (permalink)  
Antiguo 14/05/2011, 10:20
Avatar de ryor310575  
Fecha de Ingreso: febrero-2011
Mensajes: 54
Antigüedad: 13 años, 2 meses
Puntos: 2
Respuesta: jTable scrolls

He probado con los metodos jScrollPane1.updateUI() y jPanel_repSalida.updateUI() pero sigo igual. El Scroll no muestra toda la tabla.
  #7 (permalink)  
Antiguo 14/05/2011, 11:55
Avatar de ryor310575  
Fecha de Ingreso: febrero-2011
Mensajes: 54
Antigüedad: 13 años, 2 meses
Puntos: 2
Respuesta: jTable scrolls

Tratando de leer lo que aparecía en foros sobre el JScrollPane encontré esta cita:

"El jScrollpane toma el valor que devuelve el método getPreferredSize del componente que contiene para resizar su contenedor interno y mostrar las scrollbar,..."

Aso que fui a mis tablas a las que habia colocado un PreferredSize fijo y los cambie a null, esto resolvió mi problema.
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 02:43.