Java CollapseAllHandler类使用实例

1029
2024/1/18 2:59:56
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

以下是CollapseAllHandler类的一个使用实例:

import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;
import org.eclipse.jdt.ui.actions.CollapseAllAction;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.ui.handlers.HandlerUtil;

public class CollapseAllHandler extends AbstractHandler {

    @Override
    public Object execute(ExecutionEvent event) throws ExecutionException {
        // 获取当前的选择
        ISelection selection = HandlerUtil.getCurrentSelection(event);
        
        // 判断选择是否为树状视图
        if (selection instanceof IStructuredSelection) {
            // 获取树状视图
            TreeViewer treeViewer = (TreeViewer) HandlerUtil.getActivePart(event).getSite().getSelectionProvider();
            
            // 创建CollapseAllAction实例
            CollapseAllAction collapseAllAction = new CollapseAllAction(treeViewer);
            
            // 执行折叠所有操作
            collapseAllAction.run();
        }
        
        return null;
    }
}

这个示例中,我们创建了一个名为CollapseAllHandler的类,该类继承自AbstractHandler类。在execute方法中,我们首先获取当前的选择,然后判断选择是否为树状视图。如果是,我们获取树状视图的TreeViewer对象,并创建一个CollapseAllAction实例。最后,我们调用CollapseAllAction的run方法来执行折叠所有操作。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: java中list的retainall方法怎么使用