在过去一年左右的时间里,我一直在使用JXTA 2.3来开发我正在开发的点对点计算平台.我正在迁移到JXTA 2.5,在这个过程中我试图清理我对JXTA的大量使用.在大多数情况下,我以一种正确的工作态度接近JXTA.我用它来快速创建和管理我的点对点覆盖网络并提供基本的通信服务.我想以更多的JXTA方式使用它,因为我正在进行更改以转移到2.5.
我的第一步是基本创建自定义PeerGroup.我看到一些使用META-INF.servicesJava基础结构的新机制.我是否应该PeerGroup在GUID中列出相关的实现对象net.jxta.platform.Module?据我了解,如果我这样做,当遇到并且加入或创建具有与GUID匹配的规范ID的组时,它应该自动使用匹配对象.我应该能够手动将PeerGroup对象绑定到组,但这种新方法的使用META-INF似乎更容易管理.
有没有人有任何使用此基础设施PeerGroup实施的指针或示例?此外,有关META-INF.servicesJava机制的一些一般信息也会有所帮助.
我正在尝试一些MacOS编程,并且在理解绑定如何与NSPopupButton一起工作时遇到了一些麻烦。我对绑定到NSDictionaryController感兴趣(我认为我不需要中间的NSArrayController,但是如果那是最好的方法,那么我可以接受)。
我创建了一个控制器对象,该对象的属性为“ db”,其属性为“ species”,该属性为NSMutableDictionary。“种类”字典具有用于键的ID和用于值的“种类”对象。种类对象具有描述属性。在InterfaceBuilder中,我创建了MyController,NSDictionaryController和NSPopupButton。我想用Species.descriptions填充弹出窗口。选中后,我需要访问相应的ID。
我已经设置了NSDictionaryController,将“内容字典”绑定到具有模型键路径“ db.species”的MyController。到目前为止,使用NSPopupButton,我已经将“ Content Values”绑定到了NSDictionaryController,并且控制器键“ arrangedObjects”和Model Key Path设置为“ value.description”。
这似乎可以使列表填充。我的主要问题是,进行选择的最佳方法是什么。理想情况下,我想将选择连接到NSDictionaryController,以便可以使用NSDictionaryController访问选择。原因之一是可以将其他控件连接到NSDictionaryController来查看当前选择。如果没有,我应该连接到MyController中的属性还是其他?只在寻找最佳实践。我希望通过Interface Builder机制,以便可以轻松地在另一个具有不同视图的应用程序中重用模型和控制器设计。
使用Brian的答案作为指导进行更新:
NSPopupButton:将内容绑定到NSDictionaryController-> arrangedObjects-> value.description
将内容对象绑定到NSDictionaryController-> arrangedObjects-> key
将选定的索引绑定到NSDictionaryController-> selectionIndex
绑定NSDictionaryController-> db.species
一切似乎都正常。我可以使用[[[controller selectedObjects] lastObject] value]从控制器中获取对象。我相信,它位于带有键,值对的选定对象的数组中。