使用Scala';s Swing包装器,如何更新面板';是否通过foreach将内容与收藏一起发送?
我有一个面板和一个列表,其中包含引用.png文件的文件名。使用Scala';s Swing包装器,如何更新面板';是否通过foreach将内容与收藏一起发送?,swing,scala,foreach,Swing,Scala,Foreach,我有一个面板和一个列表,其中包含引用.png文件的文件名。 我可以使用以下方法将该列表的任何单个索引中的字符串转换为图像: val label = new Label { icon = new ImageIcon(myList(0)) } 然后,我可以将该标签添加到面板: object myGUI extends SimpleGUIApplication { def top = new MainFrame { title = "My simple GUI" cont
我可以使用以下方法将该列表的任何单个索引中的字符串转换为图像:
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相关的特定问题的范围内)我不确定我是否正确理解了您的问题,但这是否可行
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) }
}
}
}
看起来很有希望。。。现在试一试。是的,成功了。令人惊叹的!谢谢在我接受答案之前,我如何编辑我的问题以使其更清楚?