Java AWT小程序在调整窗口大小时显示白色屏幕
我有一个使用awt构建的java小程序 我在一个面板对象上画了一些文字,一切都很顺利。 但是当调整窗口大小时,所有文本都消失了 这种行为在不同的JVM和平台之间是不同的Java AWT小程序在调整窗口大小时显示白色屏幕,java,applet,awt,Java,Applet,Awt,我有一个使用awt构建的java小程序 我在一个面板对象上画了一些文字,一切都很顺利。 但是当调整窗口大小时,所有文本都消失了 这种行为在不同的JVM和平台之间是不同的 移动到swing是不可能的选择,因为我们必须保持与Microsoft JVM的兼容性。您必须覆盖更新(图形g),并在其中呈现文本。当需要重新绘制窗口时,将调用此方法。如果没有看到您的代码,我们不得不猜测,但是是否有可能您的文本绘制不是在paint()方法中完成的?有关AWT绘制工作原理的详细信息。请尝试附加一个Component
移动到swing是不可能的选择,因为我们必须保持与Microsoft JVM的兼容性。您必须覆盖
更新(图形g)
,并在其中呈现文本。当需要重新绘制窗口时,将调用此方法。如果没有看到您的代码,我们不得不猜测,但是是否有可能您的文本绘制不是在paint()
方法中完成的?有关AWT绘制工作原理的详细信息。请尝试附加一个ComponentListener,然后从ComponentResistized()中调用paint()
比如:
class MyPanel extents Panel implements ComponentListner {
public MyPanel() {
addComponentListener(this);
}
public void componentResized(ComponentEvent e) {
paint(getGraphics());
}
}
更新:您可能应该调用'repaint()'而不是直接调用paint()。“我们必须保持与Microsoft JVM的兼容性。”(唱)“我要'像1999年那样编程!”(向Prince道歉)。