Re: Dividir una celda de una tabla en varias celdas (JTable)
David Castañeda <davidecv-/[email protected]> Mon, 7 Sep 2009 06:27:54 -0700 (PDT)
| Newsgroups | gmane.comp.java.javaspain |
|---|---|
| Message-ID | <[email protected]> |
Es posible que te funcione con lo de la tabla, vas bien, pero tienes que crear un render especial que devuelva un componente JTable, para esto busca como crear TableCellRenderer. ________________________________ From: Darkman shadows <darkman87ucr-/[email protected]> To: [email protected] Sent: Thursday, September 3, 2009 8:45:49 PM Subject: [javaSpain] Dividir una celda de una tabla en varias celdas (JTable) 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.DefaultTab leModel( 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.DefaultTab leModel( 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= ,autoCreateColum nsFromModel= true,autoResizeM ode=AUTO_ RESIZE_SUBSEQUEN T_COLUMNS, cellSelectionEna bled=false, editingColumn= -1,editingRow= -1,gridColor= javax.swing. plaf.ColorUIReso urce[r=122, g=138,b=153] ,preferredViewpo rtSize=java. awt.Dimension[ width=450, height=400] ,rowHeight= 16,rowMargin= 1,rowSelectionAl lowed=true, selectionBackgro und=javax. .swing.plaf. ColorUIResource[ r=184,g=207, b=229],selection Foreground= sun.swing. PrintColorUIReso urce[r=51, g=51,b=51] ,showHorizontalL ines=true, showVerticalLine s=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