Когда отображается Form
и вызывается метод show
другого Form
, новый Form
анимирует поверх старого.
Однако стеклянная панель, очевидно, не участвует ванимация, которая выглядит странно.
Есть ли способ заставить стеклянную панель участвовать в анимации?
Вот код:
Form hi = new Form("Hi World", BoxLayout.y());
hi.add(new Label("Hi World"));
hi.setGlassPane(new Painter() {
@Override
public void paint(Graphics aGraphics, Rectangle aRectangle) {
int width = hi.getWidth();
int height = hi.getHeight();
int size = Math.min(width, height) * 2 / 3;
aGraphics.setColor(0xff0000);
aGraphics.fillRoundRect((width - size) / 2, (height - size) / 2, size, size, size / 4, size / 4);
}
});
hi.getToolbar().addCommandToRightBar(new Command("Other") {
@Override
public void actionPerformed(ActionEvent aActionEvent) {
Form form = new Form("Other Form");
form.getToolbar().addCommandToLeftBar(new Command("Back") {
@Override
public void actionPerformed(ActionEvent aActionEvent) {
hi.showBack();
}
});
form.setGlassPane(new Painter() {
@Override
public void paint(Graphics aGraphics, Rectangle aRectangle) {
int width = hi.getWidth();
int height = hi.getHeight();
int size = Math.min(width, height) * 2 / 3;
aGraphics.setColor(0x2020ff);
aGraphics.fillRoundRect((width - size) / 2, (height - size) / 2, size, size, size / 4, size / 4);
}
});
form.show();
}
});
hi.show();