private void setTableSize() {
		if (!initialized) {
			return;
		}
		
		setRowHeight(hight);
		
		TableColumnModel columnModel = getColumnModel();
		for (int i = 0; i < columnModel.getColumnCount(); i++) {
			TableColumn column = columnModel.getColumn(i);
			
			int preferredWidth = (int) getTableHeader().getDefaultRenderer()
	                 .getTableCellRendererComponent(this, column.getIdentifier()
	                         , false, false, -1, i).getPreferredSize().getWidth();
			
			for (int j = 0; j < getModel().getRowCount(); j++) {
				int width = (int)getCellRenderer(j, i).getTableCellRendererComponent(this,
			               getValueAt(j, i), false, false, j, i).getPreferredSize().getWidth();
				if (width > preferredWidth) {
					preferredWidth = width;
				}
			}
			
			column.setMaxWidth(maxWidth * scope);
			column.setMinWidth(minWidth * scope);
			column.setPreferredWidth(preferredWidth + getIntercellSpacing().width + 2);
		}
	}