画面を垂直方向に30%と70%に分割したいのですが、lwuitでこれを実現するにはどうすればよいですか?使用/試しGridLayout
ましたが、画面が均等に分割されます。このためのサンプルコードが必要です。
前もって感謝します!
画面を垂直方向に30%と70%に分割したいのですが、lwuitでこれを実現するにはどうすればよいですか?使用/試しGridLayout
ましたが、画面が均等に分割されます。このためのサンプルコードが必要です。
前もって感謝します!
デバイスの画面を回転させると、他の両方の答えが失敗します。
2つのアプローチを取ることができます。レイアウト制約のパーセンテージ分散をサポートするテーブルレイアウトを使用します。
Contaienr
または、メソッドをオーバーライドしてcalcPreferredSize
30または70パーセントのディメンションを適切に返すサブクラスを作成します。次に、両方をBoxLayout
コンテナに追加して、必要に応じて使用します。例:
Container c30 = new Container() {
public Dimension calcPreferredSize() {
new Dimension(Display.getInstance().getPreferredHeight(), (int)(Display.getInstance().getPreferredWidth() * 0.7));
}
};
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
分割を視覚的に表示するために、分割クラスにを設定することもできます。