0
我有一个ActionListener类和具有JCheckBox的Class在2个单独的文件中。 ActionListener会检查复选框是否已选中,并更改复选框旁边的文本,并取消选中或选择适当的复选框。我无法弄清楚的是如何获取复选框的实例来检查它是否被选中。我尝试将e.getSource转换为JCheckBox,但编译器不会允许它。获取从中调用ActionListener的对象的实例
的ActionListener类:
public MyAL extends ActionListener
{
public void actionPerformed(ActionEvent e)
{
if (e.getActionCommand() == MyClass.ACT_CMD_!)
{
//if (checkbox is selected)
//set checkbox text to "I'm Not Selected";
//deselect the checkbox;
//else
//set checkbox text to "I'm Selected";
//select the checkbox;
}
}
}
类具有JCheckBox的:
public class MyClass
{
final static ACT_CMD_1 = "CHECK BOX";
JCheckBox cb;
MyClass()
{
cb= new JCheckBox("I'm Not Selected");
cb.addActionCommand(MyClass.ACT_CMD_1);
cb.addActionListener(new MyAL());
}
}
不要使用'=='或'!='比较字符串。改为使用“equals(...)”或“equalsIgnoreCase(...)”方法。理解'=='检查两个*对象引用*是否相同,而不是你感兴趣的。另一方面,方法检查两个字符串是否具有相同顺序的相同字符,这就是这里很重要。 – 2015-03-31 01:52:16
祝您好打电话:) – yitzih 2015-03-31 02:05:58