Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright (c) 2015 Leibniz Institute of Plant Genetics and Crop Plant Research (IPK), Gatersleben, Germany.
   * All rights reserved. This program and the accompanying materials
   * are made available under the terms of the Creative Commons Attribution-NoDerivatives 4.0 International (CC BY-ND 4.0)
   * which accompanies this distribution, and is available at http://creativecommons.org/licenses/by-nd/4.0/
   *
   * Contributors:
   *      Leibniz Institute of Plant Genetics and Crop Plant Research (IPK), Gatersleben, Germany - RMI Client, FileChooser and WebDAV
   */
 package de.ipk_gatersleben.bit.bi.edal.rmi.client.util;
 
A utility class used to manage UI element

Author(s):
Jinbo Chen
Version:
1.0
 
 public class UiUtil {
change the width of JTable to show all the columns

Parameters:
myTable the JTable element
 
 	public static void fitTableColumns(JTable myTable) {
 		JTableHeader header = myTable.getTableHeader();
 		int rowCount = myTable.getRowCount();
         for(int i=myTable.getColumnModel().getColumnCount()-1;i>=0;i--)
         {
         	TableColumn column = myTable.getColumnModel().getColumn(i);
 			int col = header.getColumnModel().getColumnIndex(
 					column.getIdentifier());
 			int width = (intmyTable
 							column.getIdentifier(), falsefalse, -1, col)
 			for (int row = 0; row < rowCountrow++) {
 				int preferedWidth = (intmyTable
 						.getCellRenderer(rowcol)
 								myTable.getValueAt(rowcol), falsefalse,
 								rowcol).getPreferredSize().getWidth();
 				width = Math.max(widthpreferedWidth);
 			}
 			header.setResizingColumn(column);
 			column.setWidth(width + myTable.getIntercellSpacing().);
         }
 	}
 	
 	public static void fitTableColumns(JTable myTable,int defaultwidth) {
 		JTableHeader header = myTable.getTableHeader();
 		int rowCount = myTable.getRowCount();
 		int tablewidth = myTable.getWidth();
 		if(tablewidth==0)
 		{
 			tablewidth = defaultwidth;
 		}
 		int columnswidth = 0;
         for(int i=myTable.getColumnModel().getColumnCount()-1;i>0;i--)
         {
         	TableColumn column = myTable.getColumnModel().getColumn(i);
 			int col = header.getColumnModel().getColumnIndex(
 					column.getIdentifier());
 			int width = (intmyTable
 							column.getIdentifier(), falsefalse, -1, col)
 			for (int row = 0; row < rowCountrow++) {
 				int preferedWidth = (intmyTable
 						.getCellRenderer(rowcol)
 								myTable.getValueAt(rowcol), falsefalse,
 								rowcol).getPreferredSize().getWidth();
 				width = Math.max(widthpreferedWidth);
 			}
 			header.setResizingColumn(column);
 			column.setWidth(width + myTable.getIntercellSpacing().);
 			columnswidth += (width + myTable.getIntercellSpacing().);
         }
         if(tablewidth>columnswidth)
         {
         	TableColumn column = myTable.getColumnModel().getColumn(0);
 			int col = header.getColumnModel().getColumnIndex(
 					column.getIdentifier());
 			int width = (intmyTable
 							column.getIdentifier(), falsefalse, -1, col)
 			for (int row = 0; row < rowCountrow++) {
 				int preferedWidth = (intmyTable
						.getCellRenderer(rowcol)
								myTable.getValueAt(rowcol), falsefalse,
								rowcol).getPreferredSize().getWidth();
				width = Math.max(widthpreferedWidth);
			}
			header.setResizingColumn(column);
			column.setWidth(tablewidth-columnswidth);
        }
	}
New to GrepCode? Check out our FAQ X