问题标签 [netbeans-platform]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
339 浏览

java - 在 swing/netbeans-rcp 中导致死锁的工具提示

我有一个基于 netbeans 平台的应用程序。它有一个大纲视图,有几列。当我最大化我的应用程序时。并将鼠标悬停在最右边的列上以显示工具提示(由于屏幕结束而必须调整)。应用程序挂起(或者更确切地说,事件队列被阻止)。有时它会在几秒钟后再次开始运行,但大多数情况下我必须终止应用程序。

它在 Container.getTreeLock 中陷入僵局。只有当窗口最大化时,
我才没有对显示的字符串进行任何计算。
我已经尝试了几个 java6update 版本
我尝试过升级 netbeans 平台
我的代码在死锁时都没有在堆栈跟踪中。

我没有想法,有人有任何指示吗?

0 投票
4 回答
10573 浏览

java - 如何从 netBeans 平台的菜单中删除项目?

我有模块应用程序。当我运行它时,该应用程序的主窗口有相当复杂的菜单。如何从菜单中删除某些项目?

0 投票
3 回答
3361 浏览

java - NetBeans 平台 - 如何刷新节点的属性表视图?

我正在使用 PropertySheetView 组件来可视化和编辑节点的属性。此视图应始终反映对象的最新属性;如果在另一个进程中对对象进行了更改,我想以某种方式刷新视图并查看更新的属性。

我能够做到这一点的最好方法如下(利用EventBus库发布和订阅对象的更改):

这行得通,但是当工作表刷新时,我在滚动窗格中的位置丢失了;它将视图重置到列表的顶部,我必须向下滚动到刷新操作之前的位置。

所以我的问题是,有没有更好的方法来刷新节点的属性表视图,特别是刷新时我在属性列表中的位置不会丢失?

firePropertySetsChange 的解决方案来自这个线程

0 投票
2 回答
2960 浏览

websphere - 基于 Web 的客户端与胖/富客户端?

我的公司是一家大型电信公司的软件解决方案提供商。该环境目前基于 IBM WebSphere,前端 IBM Portal 服务器与提供 EJB 服务的后端 WebSphere Application Server 集群通信。有些 portlet 使用我们自己开发的 MVC 模式,有些是用 JSF 编写的。

最近我们做了一个概念验证的富/厚客户端应用程序,它直接与后端服务器上的 EJB 通信。它是使用 NetBeans 平台编写的,并使用 WebSphere 应用程序客户端库来建立与 EJB 的通信。

真正痛苦的是让客户端使用安全的 JAAS/SSL 通信。但是,在解决了这个问题之后,我们发现富客户端比我们已经习惯的基于 Web 的门户客户端应用程序具有许多优势:

  • 巨大的性能优势(CORBA 与 HTTP,去掉了 Portal Server 中间人)
  • 由于使用了 NetBeans 的可视化设计器和 Swing 通常稳健的体系结构,开发得以简化和快速
  • 无需将客户端应用程序部署到测试服务器,从而缩短了调试周期
  • 没有像基于 Web 的开发那样混杂的技术(Struts、JSF、JQuery、HTML、JSTL 等)

在忍受了基于 Web 的开发(甚至是 JSF)的痛苦一段时间后,我得出了以下结论:富客户端并不适合所有情况,但是当您在内部开发基于 Intranet 的解决方案,那么如果不考虑 NetBeans 平台或 Eclipse RCP,您会发疯的。

对富客户端与 Web 客户端有何评论/经验?

0 投票
3 回答
3028 浏览

java - 基于 NetBeans 平台构建的 Web Start 应用程序不会创建桌面快捷方式和开始菜单项

我创建了一个使用 Java Web Start 启动的 NetBeans 平台应用程序。我使用 Netbeans 6.8 中的“构建 JNLP 应用程序”命令构建了 WAR 文件。

我在 JNLP 文件中添加了一个桌面快捷方式和菜单项,但由于某种原因,这些不是在启动应用程序时创建的。

但是,当我去:

控制面板 -> Java -> 临时 Internet 文件 -> 查看 -> 选择我的应用程序 > 单击“安装所选应用程序的快捷方式”

桌面和菜单快捷方式已正确创建。

此外,在 Java 控制台中,快捷方式创建选项设置为以下(我认为是默认值):

  • 如果提示,提示用户

下面是我的 JNLP 文件的片段:

我难住了。有人对此有解释吗?谢谢

PS 这适用于 Windows XP 和 Windows 7。NetBeans 版本:6.8

0 投票
1 回答
420 浏览

java - NetBeans 平台 - 如何在属性开始/结束编辑时获取回调

在我的域中,我的对象不断被一个单独的进程更新,我想要一个 PropertySheetView 来显示不断变化的属性。当前实现的设置使得底层域模型对象是不可变的,因此当它发生变化时,会发布一个带有相应 ID 的新对象。此时,包装对象的节点已订阅,获取具有匹配 ID 的更新对象,并重新创建工作表(通过 createSheet())并使用更新信息调用 setSheet。这在始终显示域模型对象的最新版本时效果很好。

但是,有些属性不是只读的,而是可以设置的。我想在编辑属性时以行或工作表为基础锁定工作表不被更新/覆盖。为了做到这一点,我需要监听编辑开始和结束调用,这样我就可以知道何时可以安全地再次更新工作表。

这对我的申请至关重要;就目前而言,您无法在刷新工作表并且您的编辑消失之前输入新值。

如果重要,我使用的是自定义 PropertyEditorSupport,但默认使用 InplaceEditor。

我在 NetBeans 源代码中进行了大量搜索,但没有看到任何公开的 API 设置来监听这些内容。

SheetCellEditor (org.openide.explorer.propertysheet) 公开了一个 addCellEditorListener 方法,但是 A) 我不知道如何获得 SheetCellEditor 实例的句柄,并且 B) SheetCellEditor 公开的方法是 editingCanceled 和 editingStopped - 有没有回调开始编辑!看起来很傻。SheetTable 和 BaseTable 也会公开此属性,因为它们扩展了 JTable,但我也不知道如何获取它们的句柄。

我注意到CellEditor接口需要方法isCellEditable (),如果可以编辑单元格,该方法应该返回 true,从而开始编辑。但同样,这是由不是公共类的 SheetCellEditor 实现的,我不知道如何获得对它的引用。

感谢您的帮助。

0 投票
2 回答
965 浏览

java - 如何添加netbeans平台编译iReport源?

我需要自定义 iReport 源..(不创建插件)

目前我正在使用 iReport 3.7.2 和 netbeans 6.5.1 ide。我下载了 netbeans 平台 6.0.1 并按照 jaspersoft 链接中关于如何编译 iReport 源的过程进行操作。

但是当我试图编译源代码时。我收到诸如 libs-xerces-jar 的规范版本不兼容之类的错误。如果我在 NetBeans 平台 6.0.1-200801291616 文件夹中替换该 jar 的新版本,我将得到 org-netbeans-awt.jar 的规范版本不兼容。对于 netbeans 平台文件夹中的其他 jar,同样的不兼容规范版本错误正在抛出。

谁能帮我解决这个问题

0 投票
1 回答
866 浏览

java - 如何在 Netbeans 平台上获取项目类型?

有没有办法知道所选项目的类型?我想根据项目类型(如 J2SE 项目)执行一些特定操作。

以下是我发现的唯一方法:

0 投票
2 回答
2037 浏览

maven-2 - 如何使用 Maven 的 Netbeans 模块插件创建一个自动更新站点作为工件?

如何使用 Maven 的 Netbeans 模块插件将自动更新站点创建为工件?

我可以看到自动更新站点的文件是在 target/ 目录中生成的,但我不知道如何将它变成一个工件。

我的最终目的是将它嵌入到一个战争中以便于安装(我将使用依赖插件来解压那里的工件)。

0 投票
2 回答
2137 浏览

java - netbean 的查找是什么?

我很难理解这一点。基本上,这个 Lookup API 用于保持松散耦合的模块间性质。所以基本上服务提供者和消费者模块都可以使用 Lookup API 相互通信,对吗?

但我不明白的是:

Lookup 是不是一个装满该类对象的袋子?有人可以给出一个更简单的类比吗?

因此创建了依赖项,并且您在服务使用者中实现了 LookupListener 对吗?显然,消费者依赖于提供者。

那么 LookupListener 监听的实现是什么?它是自己的查找?那么如果有另一个模块类的映射,它会作为一个对象存储在 LookupListener 实现的 Lookup 中吗?

所以查找有点像一个可以存储另一个模块的类及其方法的包?

这是确定选择的正确过程吗?

  1. 在 TopComponent(视图)中,您实现了 Lookup Listener 和 action Listener。
  2. 您制作了一个新对象(来自另一个模块)
  3. associateLookup(Lookups.singleton(fff));再次混淆这一行:associateLookup()到底在做什么?
  4. result = Utilities.actionsGlobalContext().lookupResult(Browser1.class);这条线在做什么?结果是什么?它是否包含 Browser1 类(来自其他模块)?
  5. result.addLookupListener (this); 为什么要将侦听器添加到 result ?我们在听什么以及为什么在 TopComponent 上?

  6. 完毕 ?

最后,为了进一步加深我的困惑,Node API 是如何发挥作用的?