我有一个使用awt构建的java applet。
我在面板对象上绘制了一些文字,一切都很顺利。 但是当调整窗口大小时,所有文本都会消失。
这种行为在不同的jvms和平台之间是不同的。
转向swing不是一种可能的选择,因为我们必须保持与Microsoft JVM的兼容性。
答案 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()。