これは非常に単純な Scala GUI テストです。
import scala.swing._
object FirstSwingApp extends SimpleGUIApplication {
def top = new MainFrame {
contents = new GridPanel(30, 20) {
contents ++= 1 to 600 map (_ => new Label("test"))
}
}
}
含まれているすべてのラベルは、必要な大きさで正確に表示されます。
Label
今、私はカスタムタイプに置き換えたい:
contents ++= 1 to 600 map (_ => new Foo)
class Foo extends Panel {
override def minimumSize = {
println("minimumSize")
new java.awt.Dimension(32, 32)
}
override def preferredSize = {
println("preferredSize")
new java.awt.Dimension(32, 32)
}
override def maximumSize = {
println("maximumSize")
new java.awt.Dimension(32, 32)
}
}
しかし、結果は小さすぎます:
どうやら、xxxSize
プログラムはコンソール出力を生成しないため、どのメソッドも呼び出されません。Foo
それぞれが 32x32 ピクセルのサイズで表示されるようにするには、正確に何を変更する必要がありますか?