2013-01-09 4 views
0

다음은 제 코드입니다. 20 번째 레이블을 눈에 잘 띄게하고, 누구나 그것을 달성 할 수있는 방법을 알고 있습니다.S40 컨테이너 용 LWUIT의 자동 스크롤

다른 게시물 Auto Scrolling in LWUIT Container says componentOfLastContainer.requestFocus(); centerBigContainer.repaint(); 이 작동하지만 나에게 적합하지 않은 것 같습니다. 당신의 도움이 필요합니다.

public class TestView extends Form{ 
private TextArea inputText; 
private Container chatScreen = new Container(new BoxLayout(BoxLayout.Y_AXIS)); 

public TestView() { 
    super("test", null); 
    setupUI(); 
     } 

void setupUI() { 
    setLayout(new BorderLayout()); 
    setScrollable(false); 
    chatScreen.setScrollableY(true); 
    addComponent(BorderLayout.CENTER, chatScreen); 
    inputText = new TextArea(2, this); 
    inputText.setGrowByContent(true); 
    inputText.setMaxSize(1000); 
    Container sendContainer = new Container(new BorderLayout()); 
    sendContainer.addComponent(BorderLayout.CENTER, inputText); 
    addComponent(BorderLayout.SOUTH, sendContainer); 


    for (int i = 0; i < 20; i++) { 
     Label l = new Label("sdjfksjfksjd" + i); 
     c = new Container(); 
     c.addComponent(l); 
     chatScreen.addComponent(c); 
    } 

    c.requestFocus(); 

    chatScreen.repaint(); 


    Display.getInstance().callSerially(new Runnable(){ 

      public void run() { 
        c.requestFocus(); 

       chatScreen.repaint(); 
      } 
     }); 


} 

답변

0

요청한 포커스가 사용자를 위해 작동하지 않는다면 거기있는 텍스트 영역과 관련 있다고 생각합니다. Nokia 포크로는별로 도움이되지 않지만 Codename One에서 작동합니다.

+0

답장을 보내 주셔서 대단히 감사드립니다. 이 레이아웃, 위의 메시지 및 아래의 Textarea 입력과 같은 채팅 페이지를 구현하고 싶습니다. 새 메시지가 오면 chatScreen의 끝에 추가되고 chatScreen은 최종 항목으로 스크롤해야합니다. 내 성기를 얻기위한 다른 방법을 알고 있니? – phx

+0

또 다른 질문인데, Textarea는 내용에 따라 커질 수 없습니다. 나는 1 행 TextArea를 구성하고 사용자 입력을 증가 시키면 TextArea도 커지게됩니다. 어떻게 알 수 있습니까? 다시 한 번 감사합니다 – phx

+0

이것은 일반적으로 대답을 받아 들여 새로운 질문을 만드는 두 가지 질문입니다. 나는 당신이 http://lwuit.java.net/에있는 LWUIT 저장소에서 채팅 데모를 볼 것을 제안한다. 거품 채팅과 같은 아이폰을 보여준다. 레이아웃은 리플 로우가 필요하고 레이아웃 리플 로우는 성능면에서 달성하기가 어렵 기 때문에 텍스트 영역은 레이아웃 측면에서 몇 가지 사항을 복잡하게합니다. –