2011-06-22 187 views
1

我试图“禁止”一个CheckBox监听器。这是我的问题的一个例证。想象一下,你有:Java - CheckBox监听器

Sex: |_| Male  |_| Female 

Name: |_| Jenny  |_| Robert  |_| Kate  |_| Mike 

Pictures: ... 

其实,我想显示所选人员的照片,但你可以看到,当我点击“男”的2系列复选框的连接,即我想罗伯特和迈克'复选框被选中。但是,选择罗伯特和麦克'复选框的事实呼吁他们的听众。因此,罗伯特和迈克的照片显示了一次太多。

这就是为什么当我点击“男性”时,我想“禁止”姓名复选框上的听众,并自动选择与男性(罗伯特和迈克)对应的复选框。

我希望我已经够清楚了。

感谢您的帮助。

回答

3

有两种方法。

当调用Sex复选框的侦听器时,将删除所有Name复选框中的侦听器并设置其状态。然后将侦听器添加回来。

或者创建isUserChanges标志。在添加到名称复选框的所有监听器中,检查该标志。如果它是假的,你什么也不做。在第一个侦听器(sex)中,将标志设置为false,并在更改状态后将其复位。