22.12 常见疑难解答

22.12.1 如何处理菜单的启用和禁用功能

答:当打开一个只读文件时,不允许保存和另存为,此时可以使用菜单项的禁用和启用功能。在菜单监听器接口MenuListener中声明了三个方法,如下所示。


public void menuSelected(MenuEvent event)

public void menuDeSelected(MenuEvent event)

public void menucanceled(MenuEvent event)


menuSelected方法在菜单项被显示前会自动调用,因此在这个时候可以进行菜单项的相关设置。如果选择了只读打开,那么相应的保存项就应该设置为不可用,可以按照下面的方法进行编写代码。


Public void menuSelected(MenuEvent event)

{

savaItem.setEnabled(!readOnlyItem.isSelected());

}


!readOnlyItem. isSelected返回一个布尔型值。这段代码的含义就是让saveItem与readOnlyItem菜单项选择状态相反,所以采用了“非”操作。