2013-03-16 72 views
2

这种情况:一组组件的状态被保存到一个XML文件中。一切都很好。我试图将相同的数据加载到相同的组件(尽管应用程序的其余部分可能处于不同的状态,例如应用程序的新实例)。可能有一次阻止actionlistener发射?

问题:其中一个组件是一个JRadioButton,我想使这个按钮没有导致它的ActionListener火(听众调用,可能不会在这个时间点被创建的对象)。

问题:是否可以在不触发其侦听器的情况下启用JRadioButton?

+0

我能想到的一个单选按钮上触发的actionPerformed事件的唯一原因是它的选定状态发生了变化(NBC不在ZOC上,因此尽管如此) – MadProgrammer 2013-03-16 23:55:36

+0

对不起,我不确定我理解你的评论。 NBC和ZOC是什么意思? – 2013-03-17 00:00:25

+0

Haaa,1指,自动更正iPhone:P应该是“不在电脑” – MadProgrammer 2013-03-17 00:02:10

回答

2

我解决了这个问题。谢谢您的意见。

我做了什么:我创建了一个布尔值'loading'。当我加载我的XML数据时,将其设置为true,执行我想要执行的操作并将此值重新设置为false。如果加载为false,则仅在单选按钮上执行actionPerformed。

+4

我提出了我的建议,因为代码在程序的一部分中都是孤立的。任何时候你实施你的解决方案你都有三个地方的代码。 1)你需要定义一个类变量。 2)当你加载XML文件时,你需要访问变量。 3)当ActionListener被调用时,你需要访问变量。 – camickr 2013-03-17 01:04:09