Issue getting table cell renderer component from JTable
Greetings,
I wrote some js to retrieve the rendered value from a cell in my application's JTable, but TestComplete keeps locking up when calling the method: getTableCellRendererComponent()
Here is my code:
/* * Returns the displayed value in the specified JTable cell * * Parameters: * table - a JTable object * row - integer index of the row * column - integer index of the column */ function getRenderedValue(table, row, column) { let value = null; let columnModel = null; let columnObj = null; let renderer = null; let component = null; if (0 > row) { Log.Error(`Row index must be greater than or equal to 0: ${row}`); return null; } /* if: the provided row index is less than 0 */ Log.Message(`Getting rendered value found from cell: (row=${row}, column=${column})`); value = table.getValueAt(row, column); columnModel = table.getColumnModel(); Log.Message(`Getting column object by column index: ${column}`); columnObj = columnModel.getColumn(column); Log.Message(`Getting renderer for column: ${columnObj}`); renderer = columnObj.getCellRenderer(); Log.Message(`Get component for renderer: ${renderer}`); component = renderer.getTableCellRendererComponent(table, value, false, false, row, column); Log.Message(`Get text for component: ${component}`); if (aqObject.IsSupported(component, "getText")) { value = component.getText(); } return value; } /* end function: getRenderedValue(table, row, column) */
The table I am providing to this function is a simple JTable, but it does use a custom TableModel and a custom TableColumnModel. All of the renderers within this table are custom as well. I have tried calling this function for the first cell and row in table which is essentially just a String value and it still fails.
I would appreciate anyone's insight as to why the test - and java application - lock up.
I eventually have to kill the process for my application in order to have testcomplete finally release its hold on the application.
I've attached the logged messages for executuion:
Hi BTscott,
Hmmm, I have never seen this error posted to the Community. Could you please refer this question to the Support Team? They will need to reproduce it in their test lab.