Как создать новую ButtonGroup в Scala, содержащую RadioButton? - PullRequest
3 голосов
/ 21 сентября 2011

У меня проблемы с созданием группы кнопок, содержащей переключатели на языке программирования Scala. Код, который я использую, выглядит следующим образом:

val buttongroup = new ButtonGroup {
  buttons += new RadioButton("One")
  buttons += new RadioButton("Two")
}

и мой код для отображения группы кнопок находится в BorderPanel:

layout += new BoxPanel(Orientation.Vertical) {
  buttongroup
} -> BorderPanel.Position.West

Однако ничего не отображается ... Я ознакомился с API и не уверен, что не так !!

Ответы [ 2 ]

3 голосов
/ 21 сентября 2011

Вы должны добавить список, содержащий кнопки на панель, а не саму группу кнопок, например ::


val radios = List(new RadioButton("One"), new RadioButton("two"))
layout += new BoxPanel(Orientation.Vertical) {
  contents ++= radios         
}

См. Также этот пример в самом пакете Scala Swing.

0 голосов
/ 14 января 2015

Хотя группа кнопок делает кнопки взаимно исключающими, вам все равно нужно добавить отдельные кнопки на панель. Вы можете использовать ButtonGroup.buttons для получения списка кнопок:

layout += new BoxPanel(Orientation.Vertical) {
  val buttongroup = new ButtonGroup {
    buttons += new RadioButton("One")
    buttons += new RadioButton("Two")
  }
  contents ++= buttongroup.buttons
} -> BorderPanel.Position.West

Если вы хотите, чтобы первая кнопка была выбрана при создании панели инструментов, вы можете добавить: buttongroup.select (buttongroup.buttons.head)

...