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が null であるため、 を呼び出そうとするとエラーが発生すること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()ます。

于 2012-04-27T06:41:22.770 に答える