Swing EditorPane Scala大小不起作用

时间:2014-08-18 11:23:29

标签: swing scala

我使用scala.Swing

创建了以下EditorPane
import scala.swing.{Font, Color, EditorPane}

val textArea = new EditorPane() {
  font       = new Font("monospaced", java.awt.Font.PLAIN , 20 )
  background = Color.darkGray 
  foreground = Color.magenta 
  size       = new java.awt.Dimension(30,50)
}

运行上面的代码会生成错误:

value size_= is not a member of scala.swing.EditorPane

在scala.swing EditorPane API(http://www.scala-lang.org/api/2.10.4/index.html#scala.swing.EditorPane)中,它将大小称为java.awt.Dimension所以我无法理解为什么我的代码出错了。我也试过size.setSize(30,50),它编译但是EditorPane只有一行,这意味着没有正确设置大小。

这里有什么问题?

ps:我有最新的Scala版本。

1 个答案:

答案 0 :(得分:0)

EditorPane继承了UIElement的所有组件。

UIElement提供了相关的setter方法,如:

minimumSize_=(x: Dimension)
maximumSize_=(x: Dimension)
preferredSize_=(x: Dimension)

还有一个size方法,但没有setter。这解释了你的错误。

我个人的解释:

最后,Layoutmanager将处理所有组件的大小,您不应手动干扰。您可以用最小,最大和首选尺寸表达您的意愿。

您可以直接设置大小的唯一类是窗口和框架。

new MainFrame() { size = new Dimension(30,50) }