3

我无法在 Scala 编程语言中创建包含单选按钮的 ButtonGroup。我正在使用的代码如下:

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

我用于显示按钮组的代码位于 BorderPanel 中:

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

但是,什么都没有显示...我已经咨询了 API,但我不确定出了什么问题!

4

2 回答 2

2

您应该将包含按钮的列表添加到面板,而不是按钮组本身,例如:


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

另请参阅scala swing 包本身中的此示例

于 2011-09-21T03:59:30.793 回答
0

虽然按钮组使按钮互斥,但您仍然需要向面板添加单个按钮。您可以使用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)

于 2015-01-14T14:38:05.090 回答