privatedef layout_size(target: Container, preferred: Boolean): Dimension = {
target.getTreeLock.synchronized { val target_width = if (target.getSize.width == 0) Int.MaxValue else target.getSize.width
val hgap = getHgap val vgap = getVgap val insets = target.getInsets val horizontal_insets_and_gap = insets.left + insets.right + (hgap * 2) val max_width = target_width - horizontal_insets_and_gap
/* fit components into rows */
val dim = new Dimension(0, 0) var row_width = 0 var row_height = 0 def add_row(): Unit = {
dim.width = dim.width max row_width if (dim.height > 0) dim.height += vgap
dim.height += row_height
}
for {
i <- (0 until target.getComponentCount).iterator
m = target.getComponent(i) if m.isVisible
d = if (preferred) m.getPreferredSize else m.getMinimumSize()
} { if (row_width + d.width > max_width) {
add_row()
row_width = 0
row_height = 0
}
if (row_width != 0) row_width += hgap
row_width += d.width
row_height = row_height max d.height
}
add_row()
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.