当前位置: 首页 > 知识库问答 >
问题:

如何使用绑定自动更改JavaFX TextField中的文本?

张兴旺
2023-03-14

我试过这个说法:

movieTextField.textProperty().bindBidirectional(new SimpleStringProperty(YIFY.getPeliculaBuscada(), "peliculaBuscada"));

MovieTextField一个JavaFXTextFieldyify.getPeliculabuscada()返回一个字符串

在调用时,getPeliculabuscada有一个初始化的字符串,但TextField没有显示任何内容。

我怎样才能完成呢?

共有1个答案

西门嘉石
2023-03-14

SimpleStringProperty构造函数接受两个参数(请参见Javadocs),接受作为属性所有者的对象和属性的名称。这两个参数都不是参数的初始值,默认情况下为null

若要创建具有所需值的StringProperty,可以执行以下操作

movieTextField.textProperty().bindBidirectional(new SimpleStringProperty(YIFY.getPeliculaBuscada()));

但是,除了在文本字段中初始化文本之外,这实际上并不能做任何事情:它在功能上等效于

movieTextField.setText(YIFY.getPeliculaBuscada());

原因是文本字段中的文本绑定到您不再引用的StringProperty。因为没有对StringProperty的引用,所以没有其他方法可以更改它,所以将文本绑定到它是没有意义的。另一方面,如果文本字段中的文本发生变化,则会更新StringProperty;但是既然你没有提到它,你就没有办法观察到这种变化。

您可能希望让Yify是其实例的类使用StringProperty并通过StringProperty peliculaBuscadaProperty()方法公开它。然后执行movietextfield.textproperty().bind(yify.peliculabuscadaproperty());

 类似资料:
  • 问题内容: 我有带的背景图片。我想写一些文本,但是此文本应通过更改字体大小。 问题答案: 我以这种方式理解了您的问题,您希望将某些文本放入具有固定尺寸的给定div中,如果div太小而无法显示所有文本,则应缩小字体大小,直到文本适合div。如果那是重点,这是我的解决方案。 这是一个div 固定尺寸 该JavaScript将完成这项工作。

  • 问题内容: 我有带的背景图片。我想写一些文本,但是此文本应通过更改字体大小。 问题答案: 我以这种方式理解了您的问题,您希望将某些文本放入具有固定尺寸的给定div中,如果div太小而无法显示所有文本,则应缩小字体大小,直到文本适合div。如果那是重点,这是我的解决方案。 这是一个div 固定尺寸 此JavaScript将完成工作。

  • 我试图使用数据绑定实现一个简单的视图隐藏/显示。我有一个api调用,我必须在api调用进行时显示一个progressbar。一旦我得到响应,就必须放弃这个进度并显示数据。我尝试使用数据绑定动态地更改progressbar的可见性。但什么也没发生。只是第一次根据绑定变量设置progresbar可见性。它不是在更新绑定变量时动态更新的。 这里少了什么?为什么不管用?提前感谢…

  • 问题内容: 是否有人知道可以监视一个或多个本地文件的Firefox扩展,脚本或某种其他机制。当Firefox在文件中检测到(时间戳)更改时,将自动刷新或以其他方式更新其画布。 对于编辑CSS,理想的情况是仅重新加载CSS,而不是重新渲染完整的HTML。 实际上,仅通过外部文件,它就可以通过动态HTML / CSS编辑来实现与Firebug类似的行为。 问题答案: Live.js 从网站: 怎么样?

  • 有问题的webservice的客户机报告说,如果存在此,他们无法生成客户机存根(使用C#)。如何将其更改为?谢了。

  • 问题内容: 如何聆听角度分量绑定更改并执行操作? 现在,当我要更改时要使用此值执行其他操作时,该 怎么办? 问题答案: 现在,当项目更改时,我想使用此值执行其他操作,该怎么办? 但我想避免使用濒死的$ scope 如果你 不 希望使用,你可以使用属性 设置器 检测到任何变化如: 请注意,您不应将其用于复杂的逻辑(原因: https //basarat.gitbooks.io/typescript/