SWT TableColumn TreeColum 设置最小宽度_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > SWT TableColumn TreeColum 设置最小宽度

SWT TableColumn TreeColum 设置最小宽度

 2015/4/8 0:16:36  niqingyang  程序员俱乐部  我要评论(0)
  • 摘要:最近在做将Gephi转成EclipseRCP平台下的项目,目前在改造属性表格控件,遇到需要设置表格的列宽有个最小值,经过研究暂时算是解决了,不过感觉还是不完美,但先记录下来,如果有谁有更好的方法,希望能相互讨论一下,代码如下:packagecom.cntrust.swt.util;importorg.eclipse.swt.SWT;importorg.eclipse.swt.widgets.Event;importorg.eclipse.swt.widgets.Listener
  • 标签:SWT

最近在做将Gephi转成Eclipse?RCP平台下的项目,目前在改造属性表格控件,遇到需要设置表格的列宽有个最小值,经过研究暂时算是解决了,不过感觉还是不完美,但先记录下来,如果有谁有更好的方法,希望能相互讨论一下,代码如下:

?

class="java" name="code">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);
					try {
						Thread.sleep(100);
					} catch (InterruptedException e) {
					}
					//设置最小宽度
					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);
					try {
						Thread.sleep(100);
					} catch (InterruptedException e) {
					}
					//设置最小宽度
					column.setWidth(minWidth);
				}
			}
		});

	}

}

?

?

上一篇: 关于多态性的通俗解释 下一篇: 没有下一篇了!
发表评论
用户名: 匿名