Dividir una celda de una tabla en varias celdas (JTable)
Darkman shadows <darkman87ucr-/[email protected]> Thu, 3 Sep 2009 18:45:49 -0700 (PDT)
| Newsgroups | gmane.comp.java.javaspain |
|---|---|
| Message-ID | <[email protected]> |
Buenas,
Nunca había tenido esta necesidad, generalmente con las celdas normales de un JTable esta bien para presentar datos; Pero en la actualidad estoy trabajando en un proyecto de la U para una escula y ocupan pasar el sist (hojas de cálculo) a una app. Aca esta el problema, hay ocasiones en las que una celda se ocupa dividir en varias, he investigando con TableCellRenderer, column model y Tablecelleditor pero todavía no le he encontrado solución.
Entre las opciones fue crear una tabla dentro de una celda, ya había echo esto con una imagen y funciona, creí que al ser objetos era igual pero no fue así, ya que lanza el "string del objeto" y no muestra la tabla (adjunto código).
Si alguien conoce una alternativa, o sabe implementar algunas de las mencionadas le agradezco si la comparte.
----------------------------
-Esta seria la tabla-
----------------------------
jTable1 = new javax.swing.JTable();
jTable1.setModel(new javax.swing.table.DefaultTableModel(
createArray(),
new String [] {
"uno", "dos", "tres", "cuatro"
}
)
{
Class[] types = new Class [] {
javax.swing.JTable.class, java.lang.String.class,
java.lang.String.class, java.lang.String.class
};
public Class getColumnClass(int columnIndex) {
return types [columnIndex];
}
}
);
-------------
-Método-
-------------
private Object[][] createArray() {
Object[][] elemArray = new Object[4][4];
int cont = 0;
JTable tablaTemp = new javax.swing.JTable(1,1);
tablaTemp.setSize(10, 20);
tablaTemp.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null}
},
new String [] {
"Title 1", "Title 2"
}
));
for (int i=0; i<4; i++) {
elemArray[cont][0] = (JTable)tablaTemp;
elemArray[cont][1] = (String)"darkman";
elemArray[cont][2] = (String)"Luis";
elemArray[cont][3] = (String)"Diego";
++cont;
}//end for
return elemArray;
}//end method
javax.swing.JTable[,0,0,10x20,invalid,alignmentX=0.0,alignmentY=0.0,border=,flags=251658568,maximumSize=,minimumSize=,preferredSize=,autoCreateColumnsFromModel=true,autoResizeMode=AUTO_RESIZE_SUBSEQUENT_COLUMNS,cellSelectionEnabled=false,editingColumn=-1,editingRow=-1,gridColor=javax.swing.plaf.ColorUIResource[r=122,g=138,b=153],preferredViewportSize=java.awt.Dimension[width=450,height=400],rowHeight=16,rowMargin=1,rowSelectionAllowed=true,selectionBackground=javax.swing.plaf.ColorUIResource[r=184,g=207,b=229],selectionForeground=sun.swing.PrintColorUIResource[r=51,g=51,b=51],showHorizontalLines=true,showVerticalLines=true]
-------
DarkMan87
"La civilización no suprime la barbarie, la perfecciona." Voltaire.
____________________________________________________________________________________
¡Obtén la mejor experiencia en la web!
Descarga gratis el nuevo Internet Explorer 8.
http://downloads.yahoo.com/ieak8/?l=e1