Java - TABLA en AWt???

 
Vista:

TABLA en AWt???

Publicado por felipe (5 intervenciones) el 11/10/2000 00:00:00
Necesito crear una tabla, y mi problema es que no puedo hacer uso de la JTable del swing, por causas que no comento, de manera que me tengo que conformar con los recursos que proporciona el awt, me gustaría que alguien me diera una pista para terminar con este embrollo plisss,

gracias.

felipe
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:TABLA en AWt???

Publicado por nomada (8 intervenciones) el 27/11/2000 00:00:00
A mí me pasó exactamente lo mismo y lo que hice fué crearme un panel, al que le paso como parámetros un String[ ][ ] con los datos que quiero visualizar, el número de filas y el numero de columnas de la tabla, y este panel lo pongo sobre un ScrollPane del contenedor donde quiero que se vea.
La solución es un poco chapuza pero funciona. Lo que no he hecho es poder seleccionar una fila entera o una columna, aunque no parece muy complicado. A ver si te gusta:

Utilicé el JBuilder de ahí los jbcl.layout y jbcl.control

import java.awt.*;
import java.awt.event.*;
import borland.jbcl.layout.*;
import borland.jbcl.control.*;

public class PanelDatos extends Panel {
XYLayout xYLayout1 = new XYLayout();
int ancho=100;
int alto=22;
int x=1;
int y=1;
protected int NumFilas;
protected int NumColumnas;

public PanelDatos()
{
try
{
jbInit();
}
catch (Exception e)
{
e.printStackTrace();
}
}

public PanelDatos(String[][] datos,int NumFilas,int NumColumnas)
{
this.NumFilas=NumFilas;
this.NumColumnas=NumColumnas;
try
{
jbInit();
for (int i=0;i<NumFilas;i++)
{
for (int j=0;j<NumColumnas;j++)
{
TextField celda = new TextField();
celda.setBackground(SystemColor.info);
this.add(celda, new XYConstraints(x, y,ancho, -1),-1);
celda.setText(datos[i][j]);
celda.setVisible(true);
x=x+ancho;
}
x=1;
y=y+alto;
}
}
catch (Exception e)
{
e.printStackTrace();
}
}

public void jbInit() throws Exception
{
this.setBackground(SystemColor.control);
xYLayout1.setWidth(NumFilas*alto);
xYLayout1.setHeight(NumColumnas*ancho);
this.setLayout(xYLayout1);
}
}

Esto, como te digo lo tienes que incluir en un ScrollPane
....
PanelDatos PD = new PanelDatos(datos,NumFilas,NumColumnas);
FormDatos Fram = new FormDatos();
Fram.setLayout(xYLayout1);
ScrollPane PanelScroll = new ScrollPane();
PanelScroll.setSize(699,299);
PanelScroll.add(PD);
Fram.add(PanelScroll,new XYConstraints(10,20,650,350));
Fram.setLocation(31,161);
Fram.setSize(699,399);
Fram.setVisible(true);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar