Foros aprenderaprogramar.com
		Aprender a programar => De todo un poco... => Mensaje iniciado por: PATZZZAAVR en 15 de Diciembre 2014, 14:38
		
			
			- 
				Buenas gente, necesito ayuda en como puedo digamos achicar o agrandar cada fila de acuerdo al rango del contenido.
 
 El problema es que tengo campos como por ejemplo N° así como Activo ocupan un espacio ya grande para lo que es su contenido y en Clientes no aparece el nombre completo de cada cliente, por lo que me interesa que unos campos sean más grandes y otros más pequeños en cuanto a anchura de la tabla.
 
 ¿Cómo puedo reducir el tamaño de unos anchos y agrandar otros según las necesidades?
- 
				Hola patzzzaavr ¿Con qué lenguaje de programación has creado esa tabla? ¿Cuál es el código donde creas la tabla?
			
- 
				Programo en Java con Eclipse.
 
 La linea supongo que son estas
 
 private DefaultTableModel dtmEstadia = new DefaultTableModel(null,new String[] { "N°", "Clientes", "Habitación", "Fech Entrada", "Monto", "Activo"});
 private JTable getTable() {
 if (table == null) {
 table = new JTable();
 table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
 table.addMouseListener(new MouseAdapter() {
 @Override
 public void mouseClicked(MouseEvent e) {
 String cod = "";
 if (table.getSelectedRow() >= 0) {
 cod = String.valueOf(dtmEstadia.getValueAt(table.getSelectedRow(), 0));
 System.out.println(cod);
 try {
 
 es = SesionEstadia.consultarCodigoEsta(Integer.parseInt(cod));
 System.out.println(cod);
 if (es != null) {
 System.out.println(es.getCodigo());
 tCodigo.setText(String.valueOf(es.getCodigo()));
 tFechaEntrada.setText(String.valueOf(es.getFecentra()));
 tCodigoCliente.setText(String.valueOf(es.getCliente().getCodigo()));
 tNombreCli.setText(String.valueOf(es.getCliente().getNombre()));
 tCodigoHabitacion.setText(String.valueOf(es.getHabita().getCodigo()));
 tDesHabita.setText(String.valueOf(es.getHabita().getDescripcion()));
 tMonto.setText(String.valueOf(es.getHabita().getMondia()));
 tSubTotalDetalle.setText(String.valueOf(es.getMonto()));
 textArea.setText(String.valueOf(es.getObservacion()));
 listadoDetalle = SesionDetalle.consultarDetalleCodigoEstadios(Integer.parseInt(cod));
 
 if (listadoDetalle != null) {
 while (dtmDetalle.getRowCount() > 0) {
 dtmDetalle.removeRow(0);
 
 }
 cargarGrillaDetalle();
 
 }
 estadoEdicionBotn(false, true, true, true,true, false, true, true,false,false);
 estadoEdicionEstadia(false, false, false,false, false, false, false, false,false, false, false);
 table_2.setEnabled(true);
 
 }
 } catch (Exception e1) {
 // TODO Auto-generated catch block
 e1.printStackTrace();
 }
 
 }
 
 }
 });
 table.setModel(dtmEstadia);
 table.setSelectionBackground(Color.GRAY);
 table.setSelectionForeground(Color.cyan);
 table.setIntercellSpacing(new Dimension(4, 4));
 table.setRowMargin(2);
 table.setOpaque(false);
 }
 return table;
 }
 El codigo es algo extenso :P
- 
				Hola creo que podrías probar a hacer table.setAutoResizeMode(JTable.AUTO_RESIZE_ON); para ver si te redimensiona y te adapta los anchos de columna.
 
 Si no te funciona, puedes hacerlo estableciendo tú el ancho que quieras por ejemplo:
 
 table.getColumnModel().getColumn(0).setPreferredWidth(27);
 table.getColumnModel().getColumn(1).setPreferredWidth(180);
 table.getColumnModel().getColumn(2).setPreferredWidth(100);
 table.getColumnModel().getColumn(3).setPreferredWidth(90);
 table.getColumnModel().getColumn(4).setPreferredWidth(90);
 table.getColumnModel().getColumn(4).setPreferredWidth(60);
 
 Saludoss