`
bearjava
  • 浏览: 82229 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

设置JTable的列宽

    博客分类:
  • Java
阅读更多
public class JTableUtil {

	//自动设置列宽
	public static void fitTableColumns(JTable table) {
		JTableHeader header = table.getTableHeader();
		int rowCount = table.getRowCount();
		Enumeration columns = table.getColumnModel().getColumns();
		while (columns.hasMoreElements()) {
			TableColumn column = (TableColumn) columns.nextElement();
			int col = header.getColumnModel().getColumnIndex(column.getIdentifier());
			int width = (int) table.getTableHeader().getDefaultRenderer()
					.getTableCellRendererComponent(table,column.getIdentifier(), false, false, -1, col).getPreferredSize().getWidth();
			for (int row = 0; row < rowCount; row++) {
				int preferedWidth = (int) table.getCellRenderer(row, col)
						.getTableCellRendererComponent(table,
								table.getValueAt(row, col), false, false, row,col).getPreferredSize().getWidth();
				width = Math.max(width, preferedWidth);
			}
			header.setResizingColumn(column); // 此行很重要
			column.setWidth(width + table.getIntercellSpacing().width);
		}
	}

	//手动设置列宽
	public static void fitTableColumns(JTable table, int[] columnWidths) {
		for (int i = 0; i < columnWidths.length; i++) {
			table.getColumnModel().getColumn(i).setPreferredWidth(
					columnWidths[i]);
		}
	}
}
分享到:
评论
1 楼 may小张 2012-06-20  
很管用!谢谢分享!

相关推荐

    基于JTable的列宽与内容自适应的实现方法

    然而,默认情况下,`JTable`的列宽是平均分配的,这可能导致某些含有长内容的单元格被截断,影响了用户体验。为了解决这个问题,我们可以实现列宽与内容自适应的功能,确保每一列的宽度根据其内容的长度自动调整。...

    java 中 Jtable的用法

    JTable具有自动调整列宽的功能,以适应窗口的变化。这一行为可以通过`setAutoResizeMode()`方法进行控制。该方法接受一个整数参数,表示不同的调整模式: - `AUTO_RESIZE_OFF`: 不自动调整列宽。 - `AUTO_RESIZE_...

    JTable 操作单元格 行 列

    1. **创建和设置单元格值**:`JTable`中的每个单元格都由一个`DefaultTableModel`管理。你可以通过`setValueAt()`方法来设置单元格的值,例如`model.setValueAt(value, row, column)`。 2. **获取单元格值**:同样...

    JTable动态刷新数据

    在使用 JTable 时,需要注意表格的列宽和行高的设定,这可以使用 TableColumn 的 setMaxWidth() 和 setMinWidth() 方法来实现。 JTable 动态刷新数据需要使用 DefaultTableModel 来存储和管理数据,然后使用...

    Swing之JTable的详细介绍

    JTable还支持列宽的自动调整和手动调整,可以使用`AutoResizeMode`枚举来设置自动调整策略。此外,`TableColumn`类允许对列进行更细致的控制,例如隐藏、移动或改变列宽。 关于Excel表与JTable之间的转换,通常可以...

    JTable合并单元格

    3. **设置`JTable`的行头和列头**: 如果你需要合并行头或列头,`JTableHeader`提供了`setResizingModel`和`setHeaderView`方法,你可以自定义这些部分的行为。对于列头,可以使用`DefaultTableColumnModel`的`...

    JTable表头合并

    4. **设置列宽**:合并表头后,确保正确设置列宽非常重要,以避免因列宽不足导致的显示问题。可以使用`JTable`的`setColumnWidths`方法来调整列宽。 5. **性能优化**:处理大量列时,频繁计算合并信息可能导致性能...

    JTable实例大全

    可以通过设置`TableColumn`的`preferredWidth`属性来调整列宽,或者启用自动调整列宽的策略。 10. **行选择和鼠标事件**: `JTable`支持单行、多行选择,以及鼠标点击事件监听。你可以通过设置`...

    JAVA表格控件JTable常用操作详解.doc

    2. **设置列宽限制**:通过`TableColumn`对象的`setPreferredWidth`, `setMaxWidth`和`setMinWidth`方法设定列的最小、最大和首选宽度。 3. **设置列数**:使用`DefaultTableModel`的`setColumnCount`方法设置表格...

    Excel内容复制到JTable中

    - **调整列宽**:可以使用`JTable`的`setColumnWidth()`方法设置列宽,以适应数据内容。 6. **显示JTable**: - 将创建的`JTable`添加到`JScrollPane`中,然后将`JScrollPane`添加到`JFrame`或其他容器,以便在...

    JTable颜色渲染代码

    - **列宽设置**:通过循环遍历所有的列,并使用`table.getColumnModel().getColumn(i).setPreferredWidth(width)`来设置每一列的推荐宽度。 - **监听器设置**:通过`ListSelectionModel`获取表格的行选择模型,并...

    Java中JTable的用法.doc

    若要设置列宽,首先获取`TableColumn`实例,然后调用`setPreferredWidth()`方法。例如,`table.getColumnModel().getColumn(0).setPreferredWidth(100)`将第一列的宽度设置为100像素。 JTable的标题可以通过`...

    JAVA中JTable的使用方法

    使用`getTableHeader()`获取表头组件,可调整列宽或自定义表头渲染器。 8. **功能增强** `JTable`提供了多选模式,通过`setRowSelectionAllowed()`和`setColumnSelectionAllowed()`开启。`setSelectionMode()`...

    学会JTable的使用

    可能包括加载数据、设置列宽、响应用户操作等。 `FriendDBOperatePane.java`可能是一个用于操作好友数据的面板,可能包含了对`JTable`的进一步定制,比如添加、删除好友,或者根据好友数据库(`好友管理数据库.mdb`)...

    jTable的使用

    4. **行选择**:jTable允许单行或多行选择,可以通过`setSelectionMode()`设置选择模式。 5. **表头自定义**:通过`setTableHeader()`可以设置自定义的表头,可以添加工具提示、更改字体样式等。 6. **事件监听**...

    swing中JTable的简单使用

    4. **定制外观**:可以设置列宽、列头文本、单元格渲染器等,以改变JTable的显示效果。 5. **监听事件**:通过添加MouseListener和KeyListener,可以监听用户的点击和键盘输入,实现交互功能。 6. **数据更新**:...

    JTable示例

    `JTable`的外观可以通过`TableColumnModel`和`TableColumn`进行调整,如设置列宽、隐藏列等。`JTable`的行为可以通过`setRowSelectionAllowed(boolean flag)`、`setColumnSelectionAllowed(boolean flag)`等方法控制...

    java表格jtable源码

    在"tableLearning"这个压缩包中,可能包含的资源有示例代码、教程文档等,通过学习这些内容,你可以深入理解JTable的使用方法,包括如何读取文本数据、设置下拉选项、保存数据以及实现其他高级功能。对JTable的熟练...

    JTable的初步编程

    接着,你可以右键点击`JTable`并选择“调整列宽”、“添加列”等操作。对于数据模型,NetBeans会自动为你创建一个`DefaultTableModel`,你可以通过代码编辑器添加和修改数据。 此外,`JTable`还支持各种事件监听,...

Global site tag (gtag.js) - Google Analytics