人物类:
public class Person {
private final String name;
private final int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
房子类:
public class House {
private final EventList<Person> residents = new BasicEventList<>();
public void addResident(Person resident) {
residents.add(resident);
}
public EventList<Person> getResidents() {
return residents;
}
}
初始化代码:
EventList<House> houses = new BasicEventList<>();
CollectionList<House, Person> allResidents = new CollectionList<>(houses, new CollectionList.Model<House, Person>() {
@Override
public List<Person> getChildren(House parent) {
return parent.getResidents();
}
});
jTable.setModel(GlazedListsSwing.eventTableModel(allResidents, new String[]{"name", "age"}, new String[]{"Name", "Age"}, new boolean[]{false, false}));
House firstHouse = new House();
houses.add(firstHouse);
firstHouse.addResident(new Person("John", 18));
House secondHouse = new House();
houses.add(secondHouse);
secondHouse.addResident(new Person("Mary", 44));
secondHouse.addResident(new Person("Alisa", 6));
所以有房子,里面有居民名单。这张表应该显示所有房屋的所有居民。
新居民可以随时添加到房屋中,因此表格应该能够反映这些变化。这就是为什么EventList
是将住户存放在一所房子中的一个明显选择。
但是,GlazedList要求CollectionList
和常驻EventList
s都使用相同的ListentPublisher
和ReadWriteLock
。
考虑到这一点,我应该如何将相同的listentpublisher
和ReadWriteLock
传递给CollectionList
和每个House
实例的住户EventList
s
请注意,第二个标准使得从收藏列表
中获取出版商
和锁
并将其传递给新房屋
的建设者是不可能的(因为房屋可能在列表本身之前创建)
除了共享发布者
和锁定
之外,还有其他解决方法吗?
相关问题:如何处理GlazedList对共享发布者和锁的可插拔列表要求
没有相关文档,但这种方法适用于在列表之间共享listentpublisher
和ReadWriteLock
:
public static final ListEventPublisher PUBLISHER = ListEventAssembler.createListEventPublisher();
public static final ReadWriteLock LOCK = LockFactory.DEFAULT.createReadWriteLock();
将这些变量放在某个地方,然后将它们传递给新EventList
s的每个构造函数
我通过查看GlazedList的源代码发现了这一点,并看到他们以这种方式创建了锁和发布者。不幸的是,我不知道这种方法是否有任何缺点,或者它是否是一种正确的方法。
问题内容: 我有一个在React中创建的组件,该组件可以抽象出我的应用程序中的某些样式。我在两种不同的上下文中使用它- 一种用于提交登录表单,另一种用于导航到注册页面(以及将来可能的其他上下文)。 我试图弄清楚如何将事件处理程序从父组件传递到。我想为登录表单调用一个处理程序,但是为导航按钮调用一个处理程序。这可能吗? 我试过像这样调用组件: 我也尝试过删除arrow函数,这只会导致该函数在加载组件
问题内容: 我有一个使用测试范围的库L v1.0.0的项目A。项目A还依赖于项目B(具有范围编译),而B则可传递地依赖于库L v1.0.0(具有范围编译)。 为什么项目A的库L的最终范围是“测试”?它在运行时导致我NotClassDefFoundError。似乎库L上项目A的依赖项定义覆盖了L上的传递性依赖项。 怎么了 我的项目A仅将L用于单元测试,因此我定义了“测试”范围的依赖项。但是,最后,我
一个子:下拉组件 第二个子:播放列表组件
问题内容: 在我正在从事的新项目中,我开始使用组件而不是指令。 但是,我遇到一个无法找到具体标准方法的问题。 从孩子向父母通知事件很容易,您可以在下面的我的plunkr上找到它,但是从父母向孩子通知事件的正确方法是什么? Angular2似乎通过使用以下方法解决了此问题:https ://angular.io/docs/ts/latest/cookbook/component-communicat
我有一个具有此签名的共享库方法: 我这样称呼它: 但我得到了一个错误: hudson.remoting.ProxyExcture:groovy.lang.MisSingMEDExcture: No签名的方法: dockerBuildWith.call()适用于参数类型:(java.util.LinkedHashMap,java.lang.String,java.lang.String,org.je
本文向大家介绍怎样将事件传递给子组件?相关面试题,主要包含被问及怎样将事件传递给子组件?时的应答技巧和注意事项,需要的朋友参考一下 这道题出的有问题。 一般情况下我们父组件向子组件传递的不是事件,而是事件处理函数