Я пытался создать диалог Option, который не ограничен двумя или тремя вариантами (Option.YesNo или Option.YesNoCancel), но мне не удалось найти способ использовать что-либо, кроме этих встроенных опций. В частности, следующий отказывается принимать что-либо, что я могу поставить для optionType:Как создать диалог Option в Scala
object Choices extends Enumeration {
type Choice = Value
val red, yellow, green, blue = Value
}
val options = List("Red", "Yellow", "Green", "Blue")
label.text = showOptions(null,
"What is your favorite color?",
"Color preference",
optionType = Choices.Value,
entries = options,
initial = 2) match {
case Choice.red => "Red"
case Choice.yellow => "Yellow"
case Choice.green => "Green"
case Choice.blue => "Blue"
case _ => "Some other color"
}
Options.YesNoCancel работает для трех вариантов, но падает на четвертом. –
Можете ли вы уточнить? Что происходит? –
После использования трех доступных ответов (Result.Yes, Result.No, Result.Cancel) единственная оставшаяся вещь, которую я могу найти, - это _. Поэтому после этого я использую «case _ =>». Я могу сопоставить три действительных ответа на «красный», «желтый», «зеленый», но если я нажму «синий», я получу «java.util.NoSuchElementException: ключ не найден: 3» вместо моего последнего случая. –