2012-08-30 33 views
0

UPDATE: 我的要求是,在默認情況下第一RSS文件的標題和圖片上我LWUIT形式 顯示兩個RSS文件作爲標籤最初如果最終應顯示第一個選項卡 上用戶點擊第二個標籤,我們應該可以加載第二個rss文件的標題和圖像 我能夠加載第一個Rss文件標題,但我不能加載第二個標籤,如果我點擊它 如何捕獲點擊事件LWUIT選項卡? 這裏我的代碼不工作: String topNewsurl =「TopNews.rss」; String topStoryurl =「TopStory.rss」;如何使用LWUIT標籤的工作單擊事件

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(); 
     } 
+0

你正在做什麼,你粘貼的代碼是不連貫的。你能澄清嗎?您提到LWUIT選項卡,但不使用選項卡窗格UI。你指的是什麼? – Ajibola

回答

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; 
      } 
     });