当前位置: 首页 > news >正文

seo综合查询网站网盘怎么做电影网站

seo综合查询网站,网盘怎么做电影网站,即墨网站开发,网站流媒体播放如何做listview属性这篇文章是关于如何处理JavaFX ListViews和TableViews的#xff0c;以及如何通过这些控件了解所包含元素的更改内容。 我想知道为什么在相关书籍中没有找到关于以下模式的任何信息#xff0c;因为这是一个非常关键的机制。 那里的许多帖子建议通过调用以下命令来… listview属性 这篇文章是关于如何处理JavaFX ListViews和TableViews的以及如何通过这些控件了解所包含元素的更改内容。 我想知道为什么在相关书籍中没有找到关于以下模式的任何信息因为这是一个非常关键的机制。 那里的许多帖子建议通过调用以下命令来强制触发ChangeEvent以刷新ListView list.remove(POJO); list.add(index,POJO); 每次提交更改后 rr 但是有更好的方法 通过提供属性提取器使列表能够报告元素上的更改。 演示应用 我创建了一个小型演示应用程序可以尝试一下。 基本上两个TableView和一个ListView共享相同的数据。 要更改元素的属性一个TableView是可编辑的 数据模型 强制性PersonBean遵循JavaFX Bean Pattern / Convention public class PersonBean {private StringProperty firstName;private StringProperty lastName;private ObjectPropertyLocalDate birthday;private ObjectBindingLong age;public PersonBean() {}public PersonBean(String firstName, String lastName, LocalDate birthday) {setFirstName(firstName);setLastName(lastName);setBirthday(birthday);}public final StringProperty firstNameProperty() {if (firstName null) {firstName new SimpleStringProperty();}return firstName;}public final String getFirstName() {return firstNameProperty().get();}public final void setFirstName(final java.lang.String firstName) {firstNameProperty().set(firstName);}public final StringProperty lastNameProperty() {if (lastName null) {lastName new SimpleStringProperty();}return lastName;}public final java.lang.String getLastName() {return lastNameProperty().get();}public final void setLastName(final java.lang.String lastName) {lastNameProperty().set(lastName);}public final ObjectPropertyLocalDate birthdayProperty() {if (birthday null) {birthday new SimpleObjectProperty();}return birthday;}public final LocalDate getBirthday() {return birthdayProperty().get();}public final void setBirthday(final java.time.LocalDate birthday) {birthdayProperty().set(birthday);}public String stringValue() {return String.format(%s %s %s, getFirstName(), getLastName(), getBirthday().format(DateTimeFormatter.ISO_LOCAL_DATE));}public final ObjectBindingLong ageBinding() {if (age null) {age new ObjectBindingLong() {{bind(birthdayProperty());}Overrideprotected Long computeValue() {if (getBirthday() null) {return null;}return getBirthday().until(LocalDate.now(), ChronoUnit.YEARS);}};}return age;}public static CallbackPersonBean, Observable[] extractor() {return (PersonBean p) - new Observable[]{p.lastNameProperty(), p.firstNameProperty(), p.birthdayProperty(), p.ageBinding()};} } 包含随机创建的PersonBean列表的DataModel public class DataModel {private ObservableListPersonBean personFXBeans;public DataModel() {init();}private void init() {personFXBeans DataSource.getRandomPersonBeansList(100);}public ObservableListPersonBean getPersonFXBeans() {return personFXBeans;} } 您可能知道要在JavaFX中将DataModel例如分配给TableView或ListView您只需要使用setItemsObvervableList方法。 FXML public void onFillWithDemoDataFXBeans() {readOnlyListView.setItems(model.getPersonFXBeans());readOnlyTableView.setItems(model.getPersonFXBeans());editableTableView.setItems(model.getPersonFXBeans()); } 现在已经通过两种方式通过绑定来完成有关包含元素的属性更改的TableView的通知通过PropertyValueFactory或通过或多或少的直接属性绑定 readOnlyFirstNameColumn.setCellValueFactory(new PropertyValueFactory(firstName)); readOnlyLastNameColumn.setCellValueFactory(new PropertyValueFactory(lastName)); readOnlyBirthdayColumn.setCellValueFactory(new PropertyValueFactory(birthday)); readOnlyAgeColumn.setCellValueFactory(i - i.getValue().ageBinding());editableFirstNameColumn.setCellValueFactory(i - i.getValue().firstNameProperty()); editableLastNameColumn.setCellValueFactory(i - i.getValue().lastNameProperty()); editableBirthdayColumn.setCellValueFactory(i - i.getValue().birthdayProperty()); ageColumn.setCellValueFactory(i - i.getValue().ageBinding()); 但是ListView基本上只观察列表而不观察列表中每个元素的属性。 当使用由FXCollections.observableArrayList创建的ObservableList时ListView将仅在ListChange事件上刷新例如remove元素的add。 因此 list.remove(POJO); list.add(index,POJO); 每次提交更改后。 但是有更好的方法 通过提供属性提取器使列表能够报告元素上的更改。 那您就不必担心刷新了 ObservableList person FXCollections.observableArrayList PersonBean.extractor ; 请参见DataSource.getRandomPersonBeansList(int length) public static ObservableListPersonBean getRandomPersonBeansList(int length) {ObservableListPersonBean persons FXCollections.observableArrayList(PersonBean.extractor());for (int i 0; i length; i) {persons.add(new PersonBean(getRandomName(), getRandomLastname(), getRandomLocalDate()));}return persons;} 这个Extrator基本上是一个Callback其中包含Obvervable数组然后由Obervablelist观察更精确的是ObservableListWrapper 我的PersonBean已经提供了Extrator回调 public static CallbackPersonBean, Observable[] extractor() {return (PersonBean p) - new Observable[]{p.lastNameProperty(), p.firstNameProperty(), p.birthdayProperty(), p.ageBinding()}; } 按照此模式所有控件在应用更改后都会立即更新。 编辑资料... 并提交 请输入密码 您可以在我的BitBucket存储库中找到完整的代码。 翻译自: https://www.javacodegeeks.com/2014/11/properties-extractor-best-way-to-get-the-listview-instantly-updating-its-elements.htmllistview属性
http://www.huolong8.cn/news/480632/

相关文章:

  • 手机搭建免费网站长沙装修公司名单
  • 模板网站和定工作服图片大全
  • 长沙网络公司网站wordpress本地传图片
  • 兼容ie8的网站模板短视频免费素材网站
  • 仿网站工具php外贸门户网站
  • 亚星网站代理国企设计公司有哪些
  • 保险网站推荐深圳网站建设制作设计公司
  • 如何制作网站板块个人网站后台模板
  • 衡水网站设计哪家专业邯郸网页设计公司
  • 垂直网站建设方案wordpress与织梦
  • 做网站用什么技术中国建筑劳务分包网
  • 生成图片的网站网页设计素材主题
  • 门户网站建设平台空壳公司怎么注册
  • 做网站怎样做全页面2024年5月新冠高峰
  • 网站建设远程培训有那些网站可以做推广
  • 珠海知名网站深圳注册公司需要租赁凭证吗
  • 网站开发合作意向书wordpress网站例
  • 北京响应式网站建设公司怎样申请做c c 网站
  • 专业网站推广服务咨询容桂企业网站建设
  • 青岛手机网站设计公司织梦教程网
  • 找人做效果土去那网站找公司部门聚餐计入什么科目
  • 做网站的图片的内存千锋教育培训机构就业率
  • 地下城钓鱼网站如何做天津做家政的网站
  • 承德做网站优化网站footer怎么做
  • 成都58手机微信网站建设名录wordpress配置文件数据库连接
  • 网站建设的经验之谈昆明网站建设培训班
  • 班级网站建设开题报告天猫店铺购买平台
  • 辽阳化工网站建设h5网站显示的图标怎么做的
  • 服务器建站淄博网络优化哪家专业
  • 唐山网站建设策划方案做招聘的网站有哪些