如何为通过setLabelFor连接到标签的组件获取标签的StringProperty(JavaFX)?
我有一个实现如何为通过setLabelFor连接到标签的组件获取标签的StringProperty(JavaFX)?,java,javafx,Java,Javafx,我有一个实现 @Override public Control setLabel(Label label) { label.setLabelFor(this); return this; } @Override public Label getLabel() { return (Label) this.queryAccessibleAttribute(AccessibleAttribute.LABELED_BY); } 标签不是控件的内部内容,而是附近的引用控件,而
@Override
public Control setLabel(Label label) {
label.setLabelFor(this);
return this;
}
@Override
public Label getLabel() {
return (Label) this.queryAccessibleAttribute(AccessibleAttribute.LABELED_BY);
}
标签不是控件的内部内容,而是附近的引用控件,而不是内部
在调用setLabel之前,我需要将来自未来标签的文本绑定到某个属性上。像这样的
绑定(control.labelTextProperty())
如何做到这一点
我会尽力澄清这个问题
对于Label,存在属性labelForProperty(),因此可以在调用setLabelFor方法之前进行绑定。但是对于像TextField这样的控件,我找不到像textPropertyForConnectedLabel和binding这样的属性,只能在(Label)之后。queryAccessibleAttribute(AccessibleAttribute.LABELED_BY)将不为空。我已经用控件中的help mediator属性解决了这个问题
private StringProperty textLabelProperty = new SimpleStringProperty(""); /**
*
*/
public Control setLabel(Label label) {
if (label != null) {
label.setLabelFor(this);
textLabelProperty.bind(label.textProperty());
}
return this;
}
public StringProperty labelTextProperty() {
return textLabelProperty;
}
您无法在IDE的自动完成功能中查找正确的属性名,因为???嗯。。也许我没有提出这个问题。在调用setLabel之前,getLabel by queryAccessibleAttribute返回null。您能澄清一下您的问题吗?是否要在
setLabel
中执行绑定?在这种情况下,标签作为参数存在。或就我个人而言,我真的不明白我们应该回答什么问题:)我编辑了这个问题。抱歉,措辞含糊不清如果您正在扩展标签为的,则存储应显示在标签上的文本。这是问题吗?