1

以下に示すように、3つのComboBoxを使用して日付選択を実装しようとしました。

contents += new Label("Selected Date:")
val dayBox = new ComboBox(1 to 31)
contents += dayBox
val monthBox = new ComboBox(List("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"))
contents += monthBox
listenTo(monthBox.selection)
reactions += {
    case SelectionChanged(`monthBox`) => Dialog.showMessage(ui, "Month changed.")
}
contents += new ComboBox(2011 to 2020)

monthBoxを変更するときにdayBoxのアイテムを変更するにはどうすればよいですか?Dialog.showMessageの部分を変更する必要があることはわかっていました。しかし、私はどのように疑問に思っていますか?

たとえば、1月、3月、5月、7月、8月、10月、12月に変更すると、日は31になり、2月の28を除く他の日は30になります。

4

1 に答える 1

4

のピアJComboBoxオブジェクトを使用してComboBox、その中のアイテムを変更する必要があります。

scala> import swing.ComboBox
import swing.ComboBox

scala> val cb = new ComboBox(1 to 31)
cb: scala.swing.ComboBox[Int] = scala.swing wrapper scala.swing.ComboBox$$anon$1[...]

scala> cb.peer.getModel.getSize
res6: Int = 31

scala> cb.peer.setModel(ComboBox.newConstantModel(1 to 30))

scala> cb.peer.getModel.getSize
res8: Int = 30
于 2010-09-15T08:20:32.153 に答える