Java: explique el peso de la bolsa de cuadrícula para mostrar la relación/fórmula de los píxeles/conversión

StackOverflow https://stackoverflow.com/questions/6810599

Pregunta

He estado jugando con GridBagLayout y parece que no puedo entender cuántos píxeles voy a obtener con un particular weighting en las limitaciones.

Por ejemplo, digamos que tengo un 1000 píxeles contentPane con tres JPanelS 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. :- /

¿Fue útil?

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
scroll top