我想将屏幕垂直分割30%和70%,我怎么能用lwuit实现这个目标?我使用/试过了GridLayout
,但它平分了屏幕。需要一个示例代码。
提前致谢!
答案 0 :(得分:2)
旋转设备屏幕时,其他两个答案都将失败。
您可以采用两种方法,使用支持布局约束百分比分布的表格布局。
或者创建Contaienr
的子类,该子类重写calcPreferredSize
方法并适当地返回30或70%的维度。然后只需将它们添加到BoxLayout
容器中并根据需要使用,例如:
Container c30 = new Container() {
public Dimension calcPreferredSize() {
new Dimension(Display.getInstance().getPreferredHeight(), (int)(Display.getInstance().getPreferredWidth() * 0.7));
}
};
答案 1 :(得分:-1)
创建一个派生Container的类:
public class split extends Container {
public split(int h)
{
super(); // you can set your layout type here
setPreferredH(h);
}
}
然后在表单中添加此类的组件:
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);
}
}
您甚至可以将backgroundPainter
设置为拆分类,以便直观地显示拆分。