我目前正在开发一个ZK应用程序,但找不到一种方法来监听从一个特定的下面的所有组件中触发的所有SelectEvent
(这是唯一一个在开始时存在的组件,然后获取每个选择都在其中或后代发生的后代。
此组件下方的层次结构将随每SelectEvent
而变化,我需要在每次发生这种情况时检查条件。
我唯一能想到的是
两者都感觉不对,如果有多个根组件,后者就不安全(因为每个组件都有自己的后代组件)
我有什么方法可以忽略吗?
PS:这是this question的ZK版本。
一些代码。 ExpressionTypeSelector
包含Listbox
以选择ExpressionModel
。在选择时,模型的小部件将替换ExpressionTypeSelector
的小部件。
主:
expressionSelector = new ExpressionTypeSelector()
expressionSelector.widget.setParent(layout)
TermModel
(ExpressionModel
的例子)
class TermModel extends ExpressionModel[BooleanTerm] {
val b1 = new ExpressionTypeSelector
val op = new OperatorSelector
val b2 = new ExpressionTypeSelector
var widget = new Hlayout
for (w ← List(
new Label("("),
b1.widget,
op.widget,
b2.widget,
new Label(")")
)) w.setParent(widget)
}
您会看到:用户可以创建TermModel
s的树。每次选择后,应检查这是否是最后一次选择。