Vaadin獲取控件Top、Left、Width、Height的一種方式

通過add event listener的方式獲取當前點擊的控件的信息。

可依據html中element的屬性 https://www.w3school.com.cn/jsref/dom_obj_all.asp

import com.vaadin.flow.dom.DomEvent;
import elemental.json.JsonObject;

Tab tab = new Tab("my tab");
tab.getElement().addEventListener("click", this::handleClick)
    .addEventData("element.offsetTop")
    .addEventData("element.offsetLeft")
    .addEventData("element.offsetWidth")
    .addEventData("element.offsetHeight")
    .addEventData("element.id");

private void handleClick(DomEvent event) {
    JsonObject eventData = event.getEventData();
        double top = eventData.getNumber("element.offsetTop");
        double left = eventData.getNumber("element.offsetLeft");
        double width = eventData.getNumber("element.offsetWidth");
        double height = eventData.getNumber("element.offsetHeight");
        String id = eventData.getString("element.id");
}

另外,修改控件的style可參考https://vaadin.com/components/vaadin-dialog/java-examples中styled content章節。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章