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