Я попытался использовать com.codename1.components.FloatingActionButton
в сочетании с com.codename1.ui.TextArea
.FloatingActionButton on TextArea не работает должным образом
Теперь у меня есть два вопроса:
- Видимо VALIGN не оплачен - это ошибка?
- ActionListener FloatingActionButton не вызывается. Что-то не так с моим использованием или это ошибка?
Вот код, чтобы продемонстрировать это:
public class FormFabOnText extends Form {
public FormFabOnText() {
setTitle("FormFabOnText");
setLayout(new BorderLayout());
Container contentPane = getContentPane();
contentPane.add(BorderLayout.NORTH, new SpanLabel(
"This form contains a TextArea and a FloatingActionButton combined by bindFabToContainer. "
+ "It demonstrates that the FloatingActionButton is not working in this constellation."));
TextArea textArea = new TextArea();
float iconDefaultSize = FloatingActionButton.getIconDefaultSize();
try {
FloatingActionButton.setIconDefaultSize(2.0f);
FloatingActionButton floatingActionButton = FloatingActionButton.createFAB(FontImage.MATERIAL_CLEAR);
Container containerFab = floatingActionButton.bindFabToContainer(textArea, Component.RIGHT, Component.CENTER);
floatingActionButton.addActionListener((e) -> textArea.setText(""));
contentPane.add(BorderLayout.CENTER, containerFab);
} finally {
FloatingActionButton.setIconDefaultSize(iconDefaultSize);
}
}
}
Он выглядит как метод 'com.codename1.ui.Container.getComponentAt (интермедиат, целое)' необходимо специальное лечение LayeredLayout –
Видимо 'FloatingActionButton.pointerPressed' и' FloatingActionButton.pointerReleased' называется - так что не так? –
«FloatingActionButton» не работает, когда «TextArea» сфокусирован - тогда 'com.codename1.ui.Container.getComponentAt (int, int)' вообще не вызывается –