Java: explique el peso de la bolsa de cuadrícula para mostrar la relación/fórmula de los píxeles/conversión
-
25-10-2019 - |
Pregunta
He estado jugando con GridBagLayout
y parece que no puedo entender cuántos píxeles voy a obtener con un particular weight
ing en las limitaciones.
Por ejemplo, digamos que tengo un 1000 píxeles contentPane
con tres JPanel
S en él, con pesas (digamos, weighty
) de 0.1, 0.1, 0.8.
Mi primera hipótesis fue que el panel 1 y 2 serían 100 píxeles cada uno, y el panel 3 sería 800. Resulta que no lo fue.
¿Cómo puedo obtener un número exacto de píxeles para esperar con respecto a la ponderación?
Esta pregunta Pregunta lo mismo, pero las respuestas, aunque útiles, no respondan a la pregunta. :- /
Solución
No importa, creo que encontré la respuesta aquí:
When more than one column has a non-zero weight, the excess space is
distributed among the non-zero weight columns using the weight values.
In particular, if the excess space is P pixels, and the column weights
for column^i is weight^i, then column^i gets exactly
(weight^i * P) / (sum-of-all-column-weights). For example, if column 1
has weight 1 and column 2 has weight 2 and the excess space is 90 pixels,
column 1 will get 30 extra pixels and column 2 will get 60 extra pixels.
Rows with a non-zero weight behave in similar fashion.
Aparentemente, el problema es el espacio adicional que se agrega a las celdas.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow