/**
* JTable列表自适应宽度
* @param 需列表自适应宽度的JTable
*/
public void FitTableColumns(JTable myTable) {
JTableHeader header = myTable.getTableHeader();
int rowCount = myTable.getRowCount();
Enumeration columns = myTable.getColumnModel().getColumns();
while (columns.hasMoreElements()) {
TableColumn column = (TableColumn) columns.nextElement();
int col = header.getColumnModel().getColumnIndex(column.getIdentifier());
int width = (int) myTable.getTableHeader().getDefaultRenderer()
.getTableCellRendererComponent(myTable, column.getIdentifier(), false, false,
-1, col).getPreferredSize().getWidth();
for (int row = 0; row < rowCount; row++) {
int preferedWidth = (int) myTable.getCellRenderer(row, col)
.getTableCellRendererComponent(myTable, myTable.getValueAt(row, col),
false, false, row, col).getPreferredSize().getWidth();
width = Math.max(width, preferedWidth);
}
header.setResizingColumn(column); // 此行很重要
column.setWidth(width + myTable.getIntercellSpacing().width);
}
}
分享到:
相关推荐
为了解决这个问题,我们可以实现列宽与内容自适应的功能,确保每一列的宽度根据其内容的长度自动调整。以下是一种实现`JTable`列宽自适应的方法。 首先,我们需要理解`JTable`的结构。`JTable`由`TableModel`、`...
跨行列表体通常涉及到单元格合并,这在`JTable`中可以通过重写`AbstractTableModel`类的`getColumnCount()`、`getRowCount()`、`getValueAt()`等方法来实现。当某些行需要合并时,`getColumnCount()`返回的列数应该...
JTable使用 JTable使用JTable使用JTable使用
JTable 动态刷新数据 JTable 动态刷新数据是指在 Java Swing 应用程序中,使用 JTable 组件展示数据,并实时更新数据的过程。这种技术在很多实际应用场景中非常有用,如股票交易平台、实时监控系统、电子表格等。 ...
1.设置表格的宽度和高度 2.要显示表头 3.新加列,将列设为下拉框 4.表格排序 3. JTable事件响应和项目设想 4.一个游戏:《java连连看》 1.需求分析 2.编写TableModel和界面实现 3.连连看事件监听 总结和任务
### Java中的JTable用法详解 #### 一、概述 JTable是Swing框架中用于显示和编辑表格数据的关键组件之一。它不仅提供了强大的数据管理功能,还支持丰富的定制选项,使得开发者能够根据具体需求创建出高度个性化的...
可以通过设置列的`ColumnModel`来控制列的宽度、是否可编辑等属性。另外,`JTable`可以与`JComboBox`、`JCheckBox`等其他组件集成,实现复杂的用户界面。 为了使`JTable`更具交互性,开发者还可以使用`...
JTable的显示效果
实现jTable和jTree的双向联动,点击jTree会选中jTable单元格,点击jTable会选中jTree节点。
JTable组件可以通过设置表格的宽度和高度、显示表头、添加列、设置列的下拉框等方式进行美化。这些设置可以通过JTable的API来实现。 5. JTable事件响应 JTable组件提供了多种事件响应机制,例如选中单元格、双击...
可以使用 `setAutoResizeMode` 方法将表格列设置为不可随容器组件大小变化自动调整宽度,例如:`table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);` 2. 限制某列的宽度 可以使用 `TableColumn` 对象设置某列的...
在Java的Swing库中,`JTable`是用于创建二维数据展示的组件,它类似于电子表格。在处理`JTable`时,我们有时需要使其单元格内容支持自动换行,以便更好地显示长文本。标题“JTable自动换行”正是指向这个功能,即...
- 确保在添加按钮时考虑到单元格的大小,可能需要自定义单元格的宽度和高度。 - 考虑到性能问题,避免在`getTableCellRendererComponent`方法中进行耗时的操作,因为此方法会被频繁调用。 - 如果单元格需要可编辑...
这在需要用户进行多选操作的界面中非常常见,比如在列表中勾选多项进行批量操作。 首先,我们从`CheckTableModle.java`文件开始,这是`JTable`的数据模型。`JTable`依赖于`TableModel`来获取和设置单元格的值。在这...
3. **调整列宽**:`setColumnWidth(int columnIndex, int width)`允许设置列的宽度。`autoResizeMode`属性可以设置为自动调整列宽以适应内容。 4. **隐藏/显示列**:可以通过修改`DefaultTableColumnModel`来隐藏或...
在提供的文件列表中,`vTable.java`和`Frame1.java`可能是实现这个功能的源代码。`vTable.java`可能包含自定义的`TableModel`实现,而`Frame1.java`则可能负责创建`JFrame`窗口,并在其中添加`JTable`,以及处理与...
JTable中加入复选框的两种方法 在Java中,JTable是一个常用的表格控件,用于显示和编辑表格数据。然而,在JTable中加入复选框是一个常见的需求,但是却不是那么容易实现。本文将介绍JTable中加入复选框的两种方法,...
在 ProductTableModel 中,我们可以看到一个名为 changeList 的列表,这个列表用于存放被修改过的数据值。这样做是为了一次修改多行多值,保存的对象是 ChangedProduct, 只记录被修改过的值。 JTable 和数据库 ...
- **列宽设置**:通过循环遍历所有的列,并使用`table.getColumnModel().getColumn(i).setPreferredWidth(width)`来设置每一列的推荐宽度。 - **监听器设置**:通过`ListSelectionModel`获取表格的行选择模型,并...
1. **关闭自动调整宽度**:`table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF)`,防止列宽随窗口大小改变而自动调整。 2. **设置列宽限制**:通过`TableColumn`对象的`setPreferredWidth`, `setMaxWidth`和`...