0

我有一个面板和一个包含引用 .png 文件的文件名的列表。
我可以使用以下方法将该列表的任何单个索引中的字符串转换为图像:

val label = new Label {
  icon = new ImageIcon(myList(0))
}  

然后我可以将该标签添加到面板中:

object myGUI extends SimpleGUIApplication {
  def top = new MainFrame {
    title = "My simple GUI"
    contents += label
  }
}  

但是如果我想为列表中的每个条目构建一个标签,并将这些标签中的每一个添加到 myGUI 怎么办?

我想使用 foreach 或其他一些惯用的 scala 概念来做到这一点。如果不同的集合类型更有意义,我不需要使用列表。然而,据我了解,数组或映射的集合处理功能与列表的集合处理功能相同,因此集合类型无关紧要(无论如何,在这个特定的 GUI 相关问题的范围内)

4

1 回答 1

2

我不确定我是否正确理解了您的问题,但这不起作用吗?:

object myGUI extends SimpleGUIApplication {
  def top = new MainFrame {
    title = "My simple GUI"
      val list = ... //your list of filepaths
      list foreach { filepath =>
        contents += new Label { icon = new ImageIcon(filepath) }
      }    
  }
}  
于 2012-11-07T19:09:56.660 回答