2012-08-28 4 views
1

버튼을 클릭하여 이미지를 표시하려는 LWUIT을 사용하여 응용 프로그램을 작성하려고합니다. 다음 코드가 있습니다. 하지만 버튼을 두 번 클릭하면 예외가 발생합니다. 아무런 예외없이 이미지를 표시하도록 도와주세요.LWUIT을 사용하여 버튼을 클릭 할 때 이미지를 표시하는 방법

 final Form f = new Form("Static TAF"); 

     Button TrackMe = new Button("TrackMe"); 

     Image TrackMeicon = null; 
     TrackMeicon = Image.createImage("/hello/follow.jpeg"); 
     final Label TrackMeLabel = new Label(TrackMeicon);  

     TrackMe.addActionListener(new ActionListener() 
     { 

     public void actionPerformed(ActionEvent ae) 
     { 
       System.out.println("Removing the previous Images"); 
       f.addComponent(TrackMeLabel); 
     } 
     }); 

답변

1

처음 버튼을 클릭하는 이미지가 양식에 추가됩니다 제발 도와주세요. 두 번 클릭 할 때 해당 이미지가 이미 양식에 있습니다. 그래서, 그것은 "Component already exists" 예외를 던질 것입니다.

귀하의 액션 청취자는

TrackMe.addActionListener(new ActionListener(){ 
     public void actionPerformed(ActionEvent ae) { 
       System.out.println("Removing the previous Images"); 
       f.removeComponent(TrackMeLabel); 
       f.addComponent(TrackMeLabel); 
     } 
}); 
+0

이 코드는 작동하지 않습니다. f.removeComponent (TrackMeLabel); 이 줄은 구성 요소를 영구적으로 제거하며 거기에서 코드의 다음 줄에 절대로 추가하지 않습니다. 라벨을 사용하여 이미지를 표시하는 것 외에도 다른 논리가 있습니까? – swatijoshi

+0

프로그램에서이 코드를 사용해보십시오. 효과가있을 것입니다. –

+0

제 경험상 LWUIT Form에 컴포넌트를 한 번만 추가하거나 removeAll()을 사용하여 컴포넌트를 추가하는 것이 더 좋습니다. – Ajibola

0
해야
TrackMe.addActionListener(new ActionListener(){ 
    public void actionPerformed(ActionEvent ae) { 
      System.out.println("Removing the previous Images"); 
      final Label TrackMeLabel = new Label(TrackMeicon); 
      f.removeAll(); 
      f.addComponent(TrackMeLabel); 
    } 

}); 당신은 요 하나의 이미지를 추가하려는 경우

+0

f.removeAll()은 TrackMeLabel이 양식의 유일한 구성 요소 인 경우에만 작동합니다. 이미 f 형식의 일부 구성 요소가 있으면 해당 구성 요소도 제거됩니다. –

0

이를 사용할 수 있습니다

을 .... 당신이 어떤 imges을 원하는 경우

TrackMe.addActionListener(new ActionListener(){ 
    public void actionPerformed(ActionEvent ae) { 
      if(!f.containes(TrackMeLabel)) 
      f.addComponent(TrackMeLabel); 
    } 

당신이 그런 일이 필요합니다

을 ...

TrackMe.addActionListener(new ActionListener(){ 
     public void actionPerformed(ActionEvent ae) { 
       Image TrackMeicon = null; 
       TrackMeicon = Image.createImage("/hello/follow.jpeg"); 
       Label TrackMeLabel = new Label(TrackMeicon); 
       f.addComponent(TrackMeLabel); 
     } 
관련 문제