调整窗口大小时,Java AWT applet白屏

时间:2009-10-15 08:53:11

标签: java applet awt

我有一个使用awt构建的java applet。

我在面板对象上绘制了一些文字,一切都很顺利。 但是当调整窗口大小时,所有文本都会消失。

这种行为在不同的jvms和平台之间是不同的。

转向swing不是一种可能的选择,因为我们必须保持与Microsoft JVM的兼容性。

3 个答案:

答案 0 :(得分:1)

您必须覆盖update(Graphics g)并在其中呈现您的文字。当窗口需要重绘时,将调用此方法。

答案 1 :(得分:1)

在没有看到您的代码的情况下,我们必须猜测,但您的文本绘图是否可能无法在paint()方法中完成? Read this了解AWT绘画的工作原理。

答案 2 :(得分:0)

尝试附加ComponentListener,然后从componentResized()中调用paint()。

类似的东西:

class MyPanel extents Panel implements ComponentListner {
    public MyPanel() {
        addComponentListener(this);
    }
    public void componentResized(ComponentEvent e) {
        paint(getGraphics());
    }
}

更新:你应该调用'repaint()'而不是直接调用paint()。