2011-11-30 3 views
2

수직으로 30 %와 70 %로 화면을 분할하고 싶습니다. 어떻게 이것을 lwuit으로 할 수 있습니까? 내가 사용/GridLayout 시도했지만 화면 균등하게 나눕니다. 이에 대한 예제 코드가 필요합니다.분할 화면 비례 LWUIT

미리 감사드립니다.

답변

2

장치의 화면을 회전 할 때 다른 대답은 모두 실패합니다.

레이아웃 제약 조건의 비율 분배를 지원하는 테이블 레이아웃을 사용하여 두 가지 접근 방식을 취할 수 있습니다.

calcPreferredSize 메서드를 재정의하는 Contaienr의 하위 클래스를 만들고 적절하게 30 또는 70 %의 차원을 반환합니다. 그런 다음 두 컨테이너를 모두 BoxLayout 컨테이너에 추가하고 원하는대로 사용합니다 (예 :

Container c30 = new Container() { 
     public Dimension calcPreferredSize() { 
      new Dimension(Display.getInstance().getPreferredHeight(), (int)(Display.getInstance().getPreferredWidth() * 0.7)); 
     } 
}; 
).
-1

컨테이너 파생 클래스 만들기 : 심지어 시각적 분리를 보여주는 backgroundPainter 분할에 클래스를 설정할 수 있습니다

public class e extends Form { 
    private Container c1, c2; 
    private TextField f1,f2; 
    public e() 
    { 
     super("test split"); 
     c1 = new split(30*getPreferredH()/100); 
     c2 = new split(70*getPreferredH()/100); 
     f1 = new TextField("ghgjhg"); 
     f2 = new TextField("jkdhuhg"); 
     c1.addComponent(f1); 
     c2.addComponent(f2); 
     setLayout(new BoxLayout(BoxLayout.Y_AXIS)); 
     addComponent(c1); 
     addComponent(c2); 
    } 
} 

:

public class split extends Container { 
    public split(int h) 
    { 
     super(); // you can set your layout type here 
     setPreferredH(h); 
    } 
} 

그런 다음 양식이 클래스의 구성 요소를 추가를 .