如何在JavaFX VBox中访问匿名/动态标签?
我对JavaFX有问题 我尝试做的很简单: 1.用户使用给定名称和surename填写两个文本字段。 2.通过点击AddPerson按钮,person类的对象将添加到包含此人姓名的arraylist中。同时,将有一个VBox对象,它添加了一个带有人名的匿名标签对象 问题是: 现在,我想单击VBox中的匿名标签并接收回Person对象 下面是添加一个人的方法如何在JavaFX VBox中访问匿名/动态标签?,javafx,label,Javafx,Label,我对JavaFX有问题 我尝试做的很简单: 1.用户使用给定名称和surename填写两个文本字段。 2.通过点击AddPerson按钮,person类的对象将添加到包含此人姓名的arraylist中。同时,将有一个VBox对象,它添加了一个带有人名的匿名标签对象 问题是: 现在,我想单击VBox中的匿名标签并接收回Person对象 下面是添加一个人的方法 btnAddContact.setOnAction(e -> { if (!"".equals(tfVor
btnAddContact.setOnAction(e -> {
if (!"".equals(tfVorname.getText().toString())
&& !"".equals(tfNachname.getText().toString())) {
contactList.addContact(new Contact(tfVorname, tfNachname));
spContacts.setContent(refreshContactList());
primaryStage.setScene(scene);
primaryStage.show();
}
});
refreshContactList方法将新的匿名标签添加到ContactList的ArrayList中,并在标签中显示名称:
private VBox refreshContactList() {
if (contactList.getContactList().size()>0) {
vbContacts.getChildren().add(new Label(contactList.getContactList().get(contactList.getContactList().size()-1).getVorname() + " " + contactList.getContactList().get(contactList.getContactList().size()-1).getNachname()));
}
return vbContacts;
}
我试图编程一个vbContacts.setOnMouseClicked。。。但我能接收到的唯一对象是VBox
你知道如何进入实验室吗
谢谢
Karl创建侦听器时,只需将其添加到标签:
private VBox refreshContactList() {
if (contactList.getContactList().size()>0) {
Contact lastContact = contactList.getContactList().get(contactList.getContactList().size()-1);
Label label = new Label(lastContact.getVorname() + " " + lastContact.getNachname()) ;
label.setOnMouseClicked(e -> {
// do whatever you need with lastContact and/or label...
});
vbContacts.getChildren().add(label);
}
return vbContacts;
}
只是一个评论:你可能想了解。