我有一个扩展JRadioButtonMenuItem的类。当从UI处理我的类的实例时,有什么方法可以捕获事件。我不确定必须捕获哪个事件的侦听器。

更清楚地说,我有一组JRadioButtonMenuItem实例(实际上是扩展JRadioButtonMenuItem的类的实例),按照我将实例作为侦听器添加到我的一个类的实现,例如并聆听。创建EventSourceEx的实例时,它将添加为侦听器。

因此,当包含上述菜单项实例的JMenu消失时,我想从JRadioButtonMenuItem实例中删除JRadioButtonMenuItem。所以我的想法是,如果可以从EventSourceExJRadioButtonMenuItem捕获一个偶数,则会通知我菜单/ Menuitem即将被处置,以便从JMenu中删除​​该实例。 。
EventSourceExJMenu是否具有任何机制来通知甚至消失。

最佳答案

将属性已更改的侦听器添加到您的JMenuItem组件。

重写propertyChange()方法

公共无效propertyChange(PropertyChangeEvent theEvt)

{

if(!isShowing()&&“ ancestor” .equalsIgnoreCase(theEvt.getPropertyName())&& theEvt.getNewValue()== null)

 {

 // Youcan remove your listener

 }


}

试试这个...让我知道

10-08 02:50