Necesito establecer el tamaño de un panel absoluto con respecto a su tamaño hijo, pero los métodos getOffset * devuelven 0 porque (creo) el hijo aún no se ha mostrado.GWT - Recuperar el tamaño de un widget que no se muestra
un ejemplo rápido:
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
también pude resolver mi problema utilizando el tamaño AbsolutePanel para fijar la posición del niño y tamaño:
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);
En ambos casos, tengo que encontrar una manera de cualquiera:
- recuperar el tamaño de un widget que no se ha mostrado
- se notificará cuando se muestre un widget
Actualmente hay varios widgets en mi AbsolutePanel con tamaños y posiciones específicos. Como el tamaño y las posiciones no son fijas (depende de los datos) no puedo usar un css ... – Garagos
¿Podría describir qué tipo de widgets se usan? Básicamente, proporcione algunos detalles sobre el problema al que se enfrenta. Podría aparecer. con alguna otra solución. Lo que estoy pensando en este momento son los métodos js nativos, que estoy muy seguro de que funcionarían, pero creo que sería mejor si de alguna manera lograras usar el estilo css. – markovuksanovic
Necesito crear un widget que represente eventos en el tiempo. Así que estoy usando un widget HTML para representar cada ocurrencia de esos eventos (también podría ser un HorizontalPanel que contiene un widget descriptor) con position = startDate y width = Duración del evento. Como el método AbsolutePanel.add() solo toma int para la posición de píxel, no puedo trabajar con el porcentaje. Por lo tanto, necesito un tamaño de referencia en píxeles, ya sea desde AbsolutePanel o una de las ocurrencias. – Garagos