メインレイアウトに使用GroupLayout
していますが、内部パネルを追加するまで、ベースラインの配置は正常に機能します。ベースラインはこれらのパネルを介して伝播されていないようです。パネルに直接追加されたすべてのボタン、ラベルなどはGroupLayout
、ベースラインに対して適切に位置合わせされていますが、内側のパネル内のコンポーネントはそうではありません。
Scala Swingには意外にもがないので、Andreas FlierlGroupPanel
のものを使用していますが、基礎となるSwingクラスとそれらを調整する方法の問題であると確信しているので、それは重要ではありません。
import swing._
import eu.flierl.grouppanel.GroupPanel
val f = new Frame {
contents = new GroupPanel {
val but = new Button { text = "button" }
val lb = new Label { text = "label" }
val inner = new FlowPanel {
contents += new Button { text = "ibut" }
contents += new Label { text = "ilab" }
}
theHorizontalLayout is Sequential (but, lb, inner)
theVerticalLayout is Parallel(Baseline)(but, lb, inner)
}
centerOnScreen()
pack()
open()
}
スクリーンショットでは、内側のパネルがベースラインではなく下部にどのように配置されているかに注意してください。この問題は、子パネルに使用されるレイアウトマネージャーとは無関係です(別のグループレイアウトである可能性があります)。