0

我正在疯狂地尝试使用 RSSReader 组件处理 rss 请求错误。我像这样创建我的 RssReader:

    RSSReader r = new RSSReader();
    r.setTargetContainer(c.getParent());
    r.setUIID("RSSReader");
    r.setURL("some feed url");
    r.setProgressTitle("Fetching News Feed");
    r.setHint("RSS Data Will Show Here");
    r.setLimit(10);
    NetworkManager.getInstance().start();
    r.sendRequest();
    myL x = new myL();
    NetworkManager.getInstance().addErrorListener(x);
    findRssContainer(c.getComponentForm()).removeComponent(findBtnLoadRss(c.getComponentForm()));    

myL类写如下:

class myL implements ActionListener
{
    public void actionPerformed(ActionEvent ae) {
        Container c = (Container)ae.getComponent(); //returns null pointer exception
        findRssContainer(c).addComponent(findBtnLoadRss(c));
    }
}

问题是它ae.getComponent是空的,所以我在尝试调用时遇到错误findContainer。我已经尝试了 ActionEvent 的各种属性,但没有成功。有谁知道这个问题的解决方法?

谢谢!!!

4

1 回答 1

0

似乎问题比我想象的要简单,我终于通过以下方式解决了它:

class myL implements ActionListener
{
    public Form f;

    public myL(Form frm)
    {
        f = frm;
    }

    public void actionPerformed(ActionEvent ae) {
        if(findBtnLoadRss(f).getParent() != null)
        {
            findRssContainer(f).addComponent(findBtnLoadRss(f));
        }
    }
}

myLc.GetComponentForm()as 参数构造。

于 2012-04-27T06:41:22.770 回答