gpt4 book ai didi

java - 将 Netbeans 项目逻辑 View 替换为大纲 View

转载 作者:行者123 更新时间:2023-11-30 09:28:41 24 4
gpt4 key购买 nike

上下文:我们正在设计一个基于 Lua IDE 的 Netbeans Platform RCP。我们已经实现了一个构建系统,允许用户轻松启用/禁用文件并添加别名以在构建时重命名文件。我们认为从 UI 的角度来看,有必要在项目逻辑选项卡中的自定​​义节点旁边设置复选框,以简化启用和禁用文件

问题:我们想用大纲 View 替换默认的 BeanTreeView,因为默认 View 不支持查找中的 CheckableNode。我们不确定执行此操作的最佳方法,但我们设计的解决方案似乎是错误的方法。该组件未正确调整大小,并且节点不会像在 native BeanTreeView 中那样在启动时自动扩展。

实现细节:我们创建了一个 FilterNode 来代理 DataObject 节点委托(delegate)。我们还将我们自己的属性集添加到查找中,并添加了一个实现 CheckableNode 的类(因此大纲 View 左侧的复选框)。

这是现在的样子,这正是我们想要的样子:

custom logical tab view

这是我们用来安装它的代码:

final String PROJECT_LOGICAL_TAB_ID = "projectTabLogical_tc";
WindowManager.getDefault().invokeWhenUIReady(new Runnable() {
@Override
public void run() {
TopComponent findTopComponent = WindowManager.getDefault().findTopComponent(PROJECT_LOGICAL_TAB_ID);
if (findTopComponent != null) {
Component[] components = findTopComponent.getComponents();
for (Component component : components) {
component.setVisible(false);
}
OutlineView myView2 = new OutlineView("Filename");
Outline outline2 = myView2.getOutline();
outline2.setRootVisible(false);
outline2.setTableHeader(null);
findTopComponent.add(myView2, BorderLayout.CENTER);
findTopComponent.revalidate();
findTopComponent.validate();
findTopComponent.repaint();
}


}
});

提前致谢。

最佳答案

它对我有用:(win7,Java 7 x64,NB dev(20121214))

public void jbuttonActionPerformance(ActionEvent ev){

TopComponent findTopComponent = WindowManager.getDefault().findTopComponent("OutlineTopComponent"); // TODO add your handling code here:
findTopComponent.setVisible(false);
findTopComponent.removeAll();
findTopComponent.setLayout(new BorderLayout());

OutlineView myView2 = new OutlineView("Filename");
Outline outline2 = myView2.getOutline();
findTopComponent.add(myView2, BorderLayout.CENTER);

findTopComponent.setVisible(true);
findTopComponent.open();findTopComponent.requestActive();
}

吉尔卡

关于java - 将 Netbeans 项目逻辑 View 替换为大纲 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13909680/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com