*设为首页
*加入收藏
热门关键字: JAVA
>>当前位置:Java大本营>Applet与Swing>文章内容
SWT中设置TableViewer和TreeViewer为双击编辑
作者: 发布时间:2008-01-19 16:42:19
TableViewer viewer = ...
import org.eclipse.jface.viewers.ColumnViewer;
import org.eclipse.jface.viewers.ColumnViewerEditorActivationEvent;
import org.eclipse.jface.viewers.ColumnViewerEditorActivationStrategy;
import org.eclipse.jface.viewers.IStructuredSelection;

public final class DoubleClickColumnViewerEditorActivationStrategy extends
        ColumnViewerEditorActivationStrategy 
{
    
public DoubleClickColumnViewerEditorActivationStrategy(
            ColumnViewer viewer) 
{
        
super(viewer);
    }


    
/**
     * Create at Jan 18, 2008 5:38:15 PM<br>
     * (non-Javadoc)
     * 
     * 
@see org.eclipse.jface.viewers.ColumnViewerEditorActivationStrategy#isEditorActivationEvent(org.eclipse.jface.viewers.ColumnViewerEditorActivationEvent)
     
*/

    @Override
    
protected boolean isEditorActivationEvent(
            ColumnViewerEditorActivationEvent event) 
{
        
boolean singleSelect = ((IStructuredSelection) getViewer()
                .getSelection()).size() 
== 1;
        
return singleSelect
                
&& (event.eventType == ColumnViewerEditorActivationEvent.MOUSE_DOUBLE_CLICK_SELECTION
                        
|| event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC || event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL);
    }

}

注意红色地方, 这是和原来不一样的. 原来是单击.

然后调用

TableViewerEditor.create(viewer, new DoubleClickColumnViewerEditorActivationStrategy(viewer), ColumnViewerEditor.DEFAULT);

就OK了.

正好今天在网上看到有其他兄弟写的添加MouseListener的做法, 私下以为虽然可能达到了功能目的, 但是代码增加不少, 而且和SWT的设计理念也有些差异. 可能多看看SWT的源码, 会有比较好的解决方案.

TreeViewer和TableViewer一样, 看看源码就明了了.


· SWT树节点上弹出菜单的实现 (02-05)
·基于 JSF+Spring + JPA 构建敏捷的Web(02-01)
·在SWING 的 JFileChooser中俘获返回的(01-20)
·Spring之特殊字符转义和方法入参检测工(01-16)
·spring2.5 + hibernate3.2x 标注(annot(01-13)
·spring2.5 + hibernate3.2x 标注(annot(01-13)
·SWT中的FormLayout (01-10)
·Spring基础(01-10)
·Spring 让 LOB 数据操作简单化 (12-26)
·Swing中使用Html标签 (12-26)
·Swing中使用Html标签 (12-26)
·JavaSwing中的对话框(12-24)
复制地址发给您的好友: [推荐文章] [返回顶部] [关闭窗口]
版权所有 Java大本营 1999-2007 转载请注明出处