我有一个扩展JRadioButtonMenuItem的类。当从UI处理我的类的实例时,有什么方法可以捕获事件。我不确定必须捕获哪个事件的侦听器。
更清楚地说,我有一组JRadioButtonMenuItem
实例(实际上是扩展JRadioButtonMenuItem
的类的实例),按照我将实例作为侦听器添加到我的一个类的实现,例如并聆听。创建EventSourceEx
的实例时,它将添加为侦听器。
因此,当包含上述菜单项实例的JMenu消失时,我想从JRadioButtonMenuItem
实例中删除JRadioButtonMenuItem
。所以我的想法是,如果可以从EventSourceEx
或JRadioButtonMenuItem
捕获一个偶数,则会通知我菜单/ Menuitem即将被处置,以便从JMenu
中删除该实例。 。EventSourceEx
或JMenu
是否具有任何机制来通知甚至消失。
最佳答案
将属性已更改的侦听器添加到您的JMenuItem组件。
重写propertyChange()方法
公共无效propertyChange(PropertyChangeEvent theEvt)
{
if(!isShowing()&&“ ancestor” .equalsIgnoreCase(theEvt.getPropertyName())&& theEvt.getNewValue()== null)
{
// Youcan remove your listener
}
}
试试这个...让我知道