Java - Erklären Sie das Gewicht des Gridbags, um Pixel -Beziehung/Formel/Konvertierung anzuzeigen

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

Frage

Ich habe mitgespielt mit GridBagLayout Und ich kann nicht herausfinden, wie viele Pixel ich mit einem bestimmten bekommen werde weightin den Einschränkungen.

Zum Beispiel sagen ich ein 1000 Pixel contentPane mit drei JPanels drin, mit Gewichten (sagen wir, weighty) von 0,1, 0,1, 0,8.

Meine erste Hypothese war, dass Panel 1 und 2 jeweils 100 Pixel sein würden und Panel 3 800 sein würde. Es stellte sich heraus, dass es nicht war.

Wie kann ich eine genaue Anzahl von Pixeln in Bezug auf die Gewichtung zu erwarten?

Diese Frage fragt eine Art dasselbe, aber die Antworten, obwohl sie hilfreich sind, beantworten Sie die Frage nicht. :- / /

War es hilfreich?

Lösung

Egal, ich glaube, ich habe die Antwort gefunden hier:

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.

Anscheinend ist das Problem zusätzlicher Raum zu den Zellen hinzugefügt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top