2016-11-23 8 views
1

У меня есть значок (на основе текста), и я не могу получить его идентификатор, когда элемент щелкнут.Javafx: Как получить идентификатор щелкнутого текстового элемента

При печати mouseEvent.getSource() она возвращается ниже текст и есть идентификатор:

Text[id=bathroom, text="", x=0.0, y=0.0, alignment=LEFT, origin=BASELINE, boundsType=LOGICAL, font=Font[name=FontAwesome Regular, family=FontAwesome, style=Regular, size=60.0], fontSmoothingType=GRAY, fill=0x000000ff] 

Id может быть разобран из текста. Но я ищу правильный путь.

ответ

0

Попробуйте использовать что-то похожее на это:

text.addEventFilter(MouseEvent.MOUSE_CLICKED, new EventHandler<MouseEvent>() 
{ 
    @Override 
    public void handle(MouseEvent event) 
    { 
     Text text1 = (Text) event.getSource(); 
     System.out.println(text1.getId()); 
    } 
}); 
+0

Это не сработает. Это не пароль. –

+0

Это не должно быть поле пароля, любой компонент FX, который вы можете дать ID, должен работать. – Jonah

+0

нет, текст не является типом управления. Я уже пробовал, он дает ошибку –

1

Вы должны добавить следующий код в MouseClickedEvent.

Text txt=(Text) mouseEvent.getSource(); 
System.out.println(txt.getId()); 
+1

Да, это сработало. –

+0

@Sarvar Nishonboyev Пожалуйста, примите ответ, так как он сработал для вас. – CTN

Смежные вопросы