Tôi cần đặt kích thước của absolutePanel về kích thước con, nhưng phương thức getOffset * trả về 0 vì (tôi nghĩ) con chưa được hiển thị.GWT - Lấy kích thước của một tiện ích không được hiển thị
Một ví dụ nhanh:
AbsolutePanel aPanel = new AbsolutePanel();
HTML text = new HTML(/*variable lenght text*/);
int xPosition = 20; // actually variable
aPanel.add(text, xPosition, 0);
aPanel.setSize(xPosition + text .getOffsetWidth() + "px", "50px"); // 20px 50px
tôi cũng có thể giải quyết vấn đề của tôi bằng cách sử dụng kích thước AbsolutePanel để thiết lập vị trí trẻ em và kích thước:
AbsolutePanel aPanel = new AbsolutePanel();
aPanel.setSize("100%", "50px");
HTML text = new HTML(/*variable lenght text*/);
int xPosition = aPanel.getOffsetWidth()/3; // Once again, getOffsetWidth() returns 0;
aPanel.add(text, xPosition, 0);
Trong cả hai trường hợp, tôi phải tìm một một trong hai cách:
- truy xuất kích thước của tiện ích con chưa được hiển thị
- được thông báo khi tiện ích được hiển thị
Thực tế có một số tiện ích trong AbsolutePanel của tôi với kích thước và vị trí cụ thể. Vì kích thước và vị trí không cố định (phụ thuộc dữ liệu) Tôi không thể sử dụng css ... – Garagos
Bạn có thể mô tả loại vật dụng nào được sử dụng không - về cơ bản cung cấp thêm chi tiết về vấn đề bạn đang gặp phải với một số giải pháp khác. Những gì tôi đang nghĩ đến tại thời điểm này là phương pháp js bản địa, mà tôi rất tự tin sẽ làm việc - nhưng tôi nghĩ rằng nó sẽ là tốt hơn nếu bạn bằng cách nào đó quản lý để sử dụng ra phong cách css. – markovuksanovic
Tôi cần tạo tiện ích đại diện cho các sự kiện kịp thời. Vì vậy, tôi đang sử dụng một tiện ích HTML để đại diện cho mỗi lần xuất hiện của các sự kiện đó (cũng có thể là một HorizontalPanel chứa một bộ mô tả) với vị trí = startDate và width = Thời lượng của sự kiện. Vì phương thức AbsolutePanel.add() chỉ lấy int cho vị trí pixel, tôi không thể làm việc với phần trăm. Vì vậy, tôi cần kích thước tham chiếu bằng pixel, hoặc từ AbsolutePanel hoặc một trong các lần xuất hiện. – Garagos