我想,在cn1的绘画模型中,有东西坏了。如果这是个错误,或者我做错了什么,有人能回顾一下吗?
我想归档如下:
表单上有一个标签,它用UITimer刷新文本,间隔1秒。例如:

若要指示窗体上的某些活动,请使用form.setGlassPane(..)绘制窗体上方的阴影。问题是,标签上的文本更新标签被重新绘制,但是glasspane没有被重新绘制,也就是说,阴影没有绘制在标签上:

测试代码:
final Form form = new Form("Welcome", new BoxLayout(BoxLayout.Y_AXIS));
final Label label = new Label("..");
Button button = new Button("Show Shade");
form.addComponent(label);
form.addComponent(button);
button.addActionListener((e) -> {
form.setGlassPane(new Painter() {
public void paint(Graphics g, Rectangle rect) {
int wasAlpha = g.getAlpha();
g.setAlpha(50);
g.setColor(0x101010);
g.fillRect(rect.getX(), rect.getY(), rect.getWidth(), rect.getHeight());
g.setAlpha(wasAlpha);
}
});
});
new UITimer(() -> {
label.setText(new Date().toString());
}).schedule(1000, true, form);
form.show();发布于 2016-06-16 04:21:36
这似乎是由于一段时间前第1680期的修复。我重新讨论这个问题,我们需要找出失败的原因。
https://stackoverflow.com/questions/37831571
复制相似问题