-1

我的 blackberry5 应用程序中有一个位图字段,附加了 fieldChanged 侦听器,现在工作得很好,现在我的问题是我也有一个用于相同目的的关联菜单(我不能删除它的要求),然后单击我得到的菜单JVM 104 非法状态异常

这是我的菜单课

 public class TabMenu extends MenuItem{
    MainScreen menuScreen;
    Field button;
    public TabMenu(String menuLabel,MainScreen menuScreen,Field button) 
    {

        super(menuLabel, 1, 0);
        this.menuScreen = menuScreen;
        this.button = button;
    }//end constructor



    public void run() 
    {
        FieldChangeListener listener = (FieldChangeListener)this.menuScreen;
        listener.fieldChanged(this.button, this.button.getIndex());
        this.button.setFocus(); 

    }

 }

这是菜单和字段更改代码

protected void makeMenu(Menu menu, int instance) {
     menu.add(new RefreshMenu()); 
     menu.addSeparator();
     menu.add(new TabMenu("Go >", this, goTab));
     menu.addSeparator();
 } 


  public void fieldChanged(Field field, int context) { 
    if (field == goTab) { 
       Dialog.alert("goinf") 
   }
 }  
4

1 回答 1

0

尝试将您的TabMenu#run()方法更改为以下内容:

public void run() {
    this.button.fieldChangedNotify(this.button.getIndex());
    this.button.setFocus(); 
}
于 2012-03-06T09:28:05.387 回答