ボタンまたはボタングループを簡単に作成できます。
Root root = iface.createRoot(AxisLayout.vertical(), ROOT, modeLayer).
setStyles(make(VALIGN.top, HALIGN.right)).
setBounds(0, 0, width, height).
add(backButton);
しかし、異なるグループに 2 つのボタンを作成する方法がわかりませんでした。
2 つのルートを作成しようとしましたが、1 つのボタンが無効/クリック不可になります。1 つのルートをクレートすると、それらは一緒にグループ化されます :(
============ 詳細な回答をしてくれた samskivert に感謝しますが、正しい結果を得ることができません。「元の」回答の最初の提案については、以下の完全なコード:
Font SMALL = PlayN.graphics().createFont("Helvetica", Font.Style.PLAIN, 24);
final Stylesheet ROOT = SimpleStyles.newSheetBuilder().
add(Element.class, make(FONT.is(SMALL))).
add(Button.class, make(BACKGROUND.is(Background.solid(100)))).create();
Group group = new Group(AxisLayout.vertical()).add(
new Group(AxisLayout.horizontal(), Style.HALIGN.left).add(
new Button("Upper left")),
AxisLayout.stretch(new Shim(1, 1)),
new Group(AxisLayout.horizontal(), Style.HALIGN.right).add(
new Button("Lower right")));
iface.createRoot(AxisLayout.vertical(), ROOT, modeLayer)
.setBounds(0, 0, 960, 640)
.add(group);
この画面を生成します(つまり、左上/下ではなく、すべて中央に表示されます...)
2 番目の完全なコードは次のとおりです。 Font SMALL = PlayN.graphics().createFont("Helvetica", Font.Style.PLAIN, 24);
final Stylesheet ROOT = SimpleStyles.newSheetBuilder().
add(Element.class, make(FONT.is(SMALL))).
add(Button.class, make(BACKGROUND.is(Background.solid(100)))).create();
Group group = new Group(new BorderLayout()).add(
new Group(AxisLayout.horizontal(), Style.HALIGN.left).
setConstraint(BorderLayout.NORTH).add(
new Button("Upper left")),
new Group(AxisLayout.vertical(), Style.HALIGN.right).
setConstraint(BorderLayout.SOUTH).add(
new Button("Lower right")));
iface.createRoot(AxisLayout.vertical(), ROOT, modeLayer)
.setBounds(0, 0, 960, 640)
.add(group);
このスクリーンショットが生成されます(つまり、中央に配置され、重なっています...)
再度、感謝します。