В настоящее время я запускаю программу решения sudoku в графический интерфейс с scala.swing и сталкиваюсь с некоторыми проблемами с использованием различных функций. То есть у меня есть функция для полного решения головоломки, другая - для ввода подсказки, а другая - для сброса сетки. Интерфейс состоит из 81 отдельных ComboBox'ов (см.: http://i.imgur.com/45vzpei.png) и трех кнопок, которые выполняют указанные функции. Моя проблема заключается в том, что, в то время как отдельные реакции/случаи связаны с конкретными кнопками/функциями для прослушивания, любая кнопка вызывает все функции. Мой код для каждого из слушателей/кнопок выглядит примерно следующийScala.swing GUI - Как отделить несколько случаев реакции
listenTo(solve,comb11,comb12,comb13,comb14,comb15,comb16,comb17,comb18,comb19,comb21,comb22,comb23,comb24,comb25,comb26,comb27,comb28,comb29,comb31,comb32,comb33,comb34,comb35,comb36,comb37,comb38,comb39,comb41,comb42,comb43,comb44,comb45,comb46,comb47,comb48,comb49,comb51,comb52,comb53,comb54,comb55,comb56,comb57,comb58,comb59,comb61,comb62,comb63,comb64,comb65,comb66,comb67,comb68,comb69,comb71,comb72,comb73,comb74,comb75,comb76,comb77,comb78,comb79,comb81,comb82,comb83,comb84,comb85,comb86,comb87,comb88,comb89,comb91,comb92,comb93,comb94,comb95,comb96,comb97,comb98,comb99)
reactions += {
case ButtonClicked(solve) =>
...[working code for solve function]...
}
(The «гребенки ##» s является исчерпывающим 81 ComboBoxes и «решают» кнопка, которая решает все головоломки.) Если Я избавляюсь от всех, кроме одного из блоков слушателя/реакции кода, нажатие оставшейся кнопки работает отлично. Если я попытаюсь включить два или все блоки кода слушателя/реакции, то каждая кнопка вызывает ВСЕ функции, которые явно запутывают и нежелательны.