最近在做将Gephi转成Eclipse RCP平台下的项目,目前在改造属性表格控件,遇到需要设置表格的列宽有个最小值,经过研究暂时算是解决了,不过感觉还是不完美,但先记录下来,如果有谁有更好的方法,希望能相互讨论一下,代码如下:
package com.cntrust.swt.util; import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Event; import org.eclipse.swt.widgets.Listener; import org.eclipse.swt.widgets.TableColumn; import org.eclipse.swt.widgets.TreeColumn; /** * 表格工具类 * * @author 倪庆洋 <niqy@qq.com> * * @date Mar 27, 2015 11:18:55 AM */ public class TableUtils { /** * 为列设置最小宽度 * * @param column * @param minWidth */ public static void setColumnMinWidth(final TableColumn column, final int minWidth) { if (column.getWidth() < minWidth) { column.setWidth(minWidth); } column.addListener(SWT.Resize, new Listener() { @Override public void handleEvent(Event event) { if (column.getWidth() < minWidth) { //设置最小宽度 column.setWidth(minWidth); // 模拟鼠标释放事件 event.type = SWT.MouseUp; event.button = 1; event.display.post(event); //设置最小宽度 column.setWidth(minWidth); } } }); } /** * 为列设置最小宽度 * * @param column * @param minWidth */ public static void setColumnMinWidth(final TreeColumn column, final int minWidth) { if (column.getWidth() < minWidth) { column.setWidth(minWidth); } column.addListener(SWT.Resize, new Listener() { @Override public void handleEvent(Event event) { if (column.getWidth() < minWidth) { //设置最小宽度 column.setWidth(minWidth); event.type = SWT.MouseUp; event.button = 1; event.display.post(event); //设置最小宽度 column.setWidth(minWidth); } } }); } }
相关推荐
根据提供的文件信息,可以看出本文主要讨论的是如何在 SWT (Standard Widget Toolkit) 的 Table 控件中实现文本换行的功能。SWT 是一个用于开发基于 Java 的桌面应用程序的工具包,它提供了丰富的用户界面组件来帮助...
接着,为了确保编辑器能正确地与单元格对齐,我们需要设置编辑器的水平对齐方式、抓取宽度属性以及最小宽度: ```java editor.horizontalAlignment = SWT.LEFT; editor.grabHorizontal = true; editor.minimumWidth...
SWT表格管理类,包括表头排序事件,table宽度自适应事件,隔行颜色事件
在SWT中,Table控件相当于其他GUI库中的数据表格,可以用来展示多行多列的数据。在处理大量数据时,为了提高性能和用户体验,通常会采用分页的方式来显示数据。本文将深入探讨如何使用SWT Table实现分页功能,并基于...
在SWT中,我们可以创建一个Shell对象作为应用程序的主窗口,然后在其中添加Table和Chart控件。Table控件可以用来显示数据库中的表格数据,支持排序、筛选等功能;而Chart控件则可以渲染从数据库获取的散点数据。 6...
- 表头(TableColumn)用于定义列,可以调整宽度、添加排序功能等。 3. 自定义表格控件: - 开发者可能会扩展SWT.Table类,添加自定义的功能,如自定义的渲染器(CellRenderer)、编辑器(CellEditor)等。 - ...
1. **工具提示(Tooltip)**:在SWT中,可以为`Table`的每一项设置单独的工具提示。通过调用`TableItem`的`setToolTipText(String text)`方法,可以为选定的行或单元格设置自定义的提示文本。当鼠标停留在该行或...
TableEditor通常会绑定一个控件(如Text、Button等)到一个特定的TableItem和Column。当用户开始编辑时,这个控件会显示在对应的单元格内。在完成编辑后,通常我们会调用TableEditor的`dispose()`方法来移除编辑器,...
然后,在创建`TableColumn`时,将其`setEditor`方法设置为我们自定义的`CellEditor`实例,这样就可以在单元格中启用编辑功能。 对于复杂的排序功能,SWT本身提供了基本的单击列头进行排序的能力,但如果我们需要...
### SWT(笔画宽度变化)代码解析 #### 一、概览 SWT(Stroke Width Transform,笔画宽度变换)是一种用于分析图像中线条或边界的算法,它能够量化图像中线条的宽度,并有助于后续的特征提取与识别任务。本文将...
SWT的`TableColumn`类提供了`pack()`方法,该方法会调整列宽以适应列中最长的文本。在初始化表格或数据更新后,可以遍历所有列调用`pack()`方法。此外,还可以设置列宽的最小和最大值,以保持一定的布局规则。 在`...
在深入探讨“Java SWT Table”这一主题之前,我们先来明确一下SWT(Standard Widget Toolkit)是什么以及它在Java开发中的角色。SWT是Eclipse平台的一部分,它提供了一组用于构建图形用户界面(GUI)的类库。与AWT和...
在"Eclipse SWT Jface环境设置.doc"文档中,可能会涵盖如何在Eclipse环境中配置SWT和JFace的开发环境,包括安装必要的插件、创建新项目、导入库、设置构建路径以及编写示例代码等步骤。这个文档对于初学者或准备使用...
使Excel嵌入到SWT窗口中 知识点一:Eclipse版本和jdk版本的选择 在本例中,我们使用的是Eclipse 3.3.1版本和jdk 5.0版本。Eclipse是一个开源的集成开发环境(IDE),它支持多种编程语言,包括Java、C++、Python等...
你可以通过`TableItem`来创建和修改表格行,`TableColumn`用于定义列。同时,`Table`控件支持选择模式,如单选或多选,以便用户选择要操作的数据行。 7. 数据绑定: 为了简化UI与数据源之间的交互,可以使用数据绑定...
TableColumn name = new TableColumn(table1, SWT.LEFT); ``` 这里`SWT.LEFT`表示文本左对齐,另外还有`SWT.RIGHT`右对齐和`SWT.CENTER`居中对齐两种样式。此外,还需要设置列的宽度和名称: ```java name.setText...
标题“swt-64.rar_64位swt_64的SWT_SWT64_swt.jar 64位_swt64位”表明这个压缩包包含了适用于64位Windows操作系统的SWT库。描述中提到的“64位windows操作系统使用的SWT库”进一步确认了这一点。 SWT的设计目标是...
在Java编程环境中,SWING和SWT(Standard Widget Toolkit)是两种常见的图形用户界面(GUI)库,用于创建桌面应用程序。然而,有时我们可能需要在这些应用中集成Web浏览功能,比如显示网页或者运行Web应用。这篇博客...
SWT(Standard Widget Toolkit)是Java中用于创建图形用户界面(GUI)的一种开源库,它是Eclipse项目的基础组件。SWT的设计目标是提供一个高效、本地化的GUI工具包,能够充分利用操作系统提供的功能,使得Java应用...
你可以通过调用`tableViewer.getTable().addColumn`来添加列,并设置其标题和宽度。 5. **事件监听**:`tableViewer`提供了丰富的事件监听机制,如`SelectionChangedListener`用于监听选中项变化,`...