|
View:
New views
2 Messages
—
Rating Filter:
Alert me
|
|
|
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.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 |
|
|
Re: Dividir una celda de una tabla en varias celdas (JTable)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@...> To: javaspain@... 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 |
| Free embeddable forum powered by Nabble | Forum Help |