public void updateColumn ( int c , TableColumn col ) { int r = 0 ; while ( r < getRowCount ( ) ) { TableCellBox cell = cells [ c ] [ r ] ; if ( cell != null ) { cell . setOwnerColumn ( col ) ; //minimal width int min = cell . getMinimalWidth ( ) / cell . getColspan ( ) ; if ( min > col . getMinimalWidth ( ) ) col . setMinimalWidth ( min ) ; //maximal width int max = cell . getMaximalWidth ( ) / cell . getColspan ( ) ; if ( max > col . getMaximalWidth ( ) ) col . setMaximalWidth ( max ) ; //fixed width and percentages if ( cell . wset ) { col . wset = true ; if ( cell . isRelative ( ) ) { col . setRelative ( true ) ; if ( col . percent < cell . percent ) col . percent = cell . percent ; } else { if ( cell . getContentWidth ( ) > col . abswidth ) col . abswidth = cell . getContentWidth ( ) ; } } //ensure the minimal width if ( col . getWidth ( ) < col . getMinimalWidth ( ) ) col . setColumnWidth ( col . getMinimalWidth ( ) ) ; r += cell . getRowspan ( ) ; } else r ++ ; } }
Checks the maximal and minimal width of the column if the column has fixed width and if it is relative . Updates the appropriate information in the TableColumn structure .