0

更新: 私の要件は、2 つの Rss ファイルを LWUIT フォームのタブとして表示することです。エンド ユーザーが 2 番目のタブをクリックすると、デフォルトで最初の Rss ファイルのタイトルと画像が最初のタブに表示されます。2 番目の RSS ファイルをロードできるはずです。タイトルと画像 最初の Rss ファイルのタイトルは読み込めますが、2 番目のタブをクリックしても読み込めません LWUIT タブのクリック イベントをキャプチャするにはどうすればよいですか? ここで動作していない私のコード: String topNewsurl="TopNews.rss"; String topStoryurl="TopStory.rss";

public class XMLMidlet extends MIDlet{
    public void startApp() {
               Display.init(this);

        Process p;
        try {
            p = new Process(this);
                    p.process();

        } catch (IOException ex) {
            ex.printStackTrace();
        }

    }



 public class Process extends Form {


     Process(XMLMidlet midlet) throws IOException {
               this.midlet=midlet;
               topnews = new Vector();
            topstory = new Vector();
           tabs = new Tabs();
            form1 = new Form();
            form2=new Form();
                form1.setLayout(new BorderLayout());
                form1.setScrollable(false);
                image = Image.createImage("/res/Tone.jpg");
                Label icon = new Label(image);
                form1.setTitleComponent(icon);
                form2.setTitleComponent(icon);

                form1.setTransitionInAnimator(Transition3D.createRotation(250, true));
                try {
                newsList = new List(topnews);
                newsList.setScrollVisible(false);

                newsList.setRenderer(new NewsListCellRenderer());

                myNewsList = new List(topstory);
                myNewsList.setScrollVisible(false);

                myNewsList.setRenderer(new NewsListCellRenderer());        
         tabs.addTab("Topstory", newsList);
                tabs.addTab("TopNews", myNewsList);
                 tabs.setChangeTabOnFocus(true);
               form1.addComponent(BorderLayout.CENTER, tabs);
        }  
     try{
String url = "http:topnews-20.rss";




             form1.show();


                        ParseThread myThread = new ParseThread(this);
            myThread.getXMLFeed(url);

    } catch (Exception e) {

        e.printStackTrace();
    }

}
public void addNews(News newsItem) {
        //log.debug("addnews");
      //System.out.println("addNews");

            topnews.addElement(newsItem);
            newsList.addActionListener(new ActionListener() {

                public void actionPerformed(ActionEvent ae) {

                    List source = (List) ae.getSource();
                    News selectedNewsItem = (News) source.getSelectedItem();
                    if (selectedNewsItem != null) {
                        displayCompleteNewsScreen(selectedNewsItem);

                    }

                }


            });
        form1.show();


    } 


     public void keyReleased(int keyCode) {
                   System.out.println("str");

            Component p=this.getFocused();
           String str= p.getClass().getName();
        if(str.toLowerCase().indexOf("radiobutton")!=-1){
            process();
        }
4

1 に答える 1

1

非常に漠然とした質問から、LWUIT フォームでのキーの押下をキャプチャしたいようです。

        jobsForm.addGameKeyListener(Display.GAME_FIRE,
                new ActionListener() {
                    public void actionPerformed(ActionEvent evt) {
                    //do something here
                    }
                });

        jobsForm.addPointerPressedListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                pointer_click = true;
            }
        });

        jobsForm.addPointerReleasedListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                if (pointer_click) {
                    //
                }
                pointer_click = false;
            }
        });

        jobsForm.addPointerDraggedListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                //System.out.println("POINTER DRAGGED");
                pointer_click = false;
            }
        });
于 2012-08-30T20:53:51.323 に答える