Смотреть это:
Form hi = new Form("Badge");
Button chat = new Button("");
FontImage.setMaterialIcon(chat, FontImage.MATERIAL_CHAT, 7);
Label badge = new Label("33");
badge.getAllStyles().setBorder(
RoundBorder.create().rectangle(true));
badge.getAllStyles().setAlignment(Component.CENTER);
int size = Display.getInstance().convertToPixels(1.5f);
badge.getAllStyles().setFont(Font.createTrueTypeFont("native:MainLight", "native:MainLight").
derive(size, Font.STYLE_PLAIN));
Container cnt = LayeredLayout.encloseIn(chat, FlowLayout.encloseRight(badge));
cnt.setLeadComponent(chat);
hi.add(cnt);
TextField changeBadgeValue = new TextField("33");
changeBadgeValue.addDataChangedListener((i, ii) -> {
badge.setText(changeBadgeValue.getText());
cnt.revalidate();
});
hi.add(changeBadgeValue);
hi.show();
Обратите внимание, что текущая версия RoundBorder
имеет несколько больший минимальный размер. Это было исправлено в предстоящем обновлении.
«RoundBorder имеет чуть больший минимальный размер» - я заметил, но результат тоже получился. См. - [link] (https://drive.google.com/open?id=0BzY44cTAYI7pWC1VLTZkMkJZVFU) Я буду ждать обновления. благодаря –