lazy val ui = new FlowPanel {
val listView = new ListView( Seq("spam", "eggs", "ham") )
listenTo(listView.selection)
reactions += {
case SelectionChanged(`listView`) => println(listView.selection.items(0))
}
contents += listView
}
Это должно привести к выводу, например
spam
spam
eggs
eggs
ham
ham
при нажатии на различные предметы. Я никогда не делал этого раньше, но я посмотрел на пример UIDemo
, который можно найти в пакете scala.swing.test
. Чтобы прочитать исходный код, если у вас есть IntelliJ, достаточно просто щелкнуть соответствующий объект в файле scala-swing.jar во внешних библиотеках на панели «Проекты».
Что касается PopupMenu, я не знаю - не похоже, что в 2.9.1 есть оболочка scala-swing, но я нашел ее на GitHub здесь . Или вы можете просто использовать обычную версию Swing.