使用JavaFX和場景生成器,我想從控制器訪問標籤內的文本得到它的文本。獲取外匯:從標籤ID點擊從控制器
我初始化的標籤爲控制器如下:
@FXML
private Label label1;
以下代碼是在FXML文件:
<Label fx:id="lable1" onMouseClicked="#handleLabel" text="Label 1" />
我已經在控制器中使用的場景結合的標籤,以該功能製造商:
private void handleLabel(MouseEvent event) {
// get text from label n
}
我的想法是調用像label1.getText()
。但爲此,我需要獲得標籤的fx:id,並且由於我會有很多標籤,因此我無法單獨硬編碼所有id個案。
Better way for Getting id of the clicked Object in JavaFX controller 我已經找到了這個,但我不認爲這個答案適用於我,因爲初始化標籤並設置一個id似乎並不符合@FXML。 此外,還沒有回答是否可以訪問組件的fx:id。
如何訪問標籤對象的方法,如getText()
也歡迎任何其他方式。
'((標籤)event.getSource())。gettext的()'? (即使你能拿'外匯:身份證',你不能,你會怎麼用它來調用'它的getText()'??) –
當時的想法是做label1.getText()。由於fx:id是label1,我以爲我可以使用id .getText()的名稱。 但你的方式也適用。但答案是你無法訪問fx:id,但必須找到解決方法。謝謝! – sandboxj
但是你不會有'label1'(這是一個對象的引用):你必須包含文本'「LABEL1」',這是不一樣的東西都一個'String'變量。那你會怎麼做? –