0

我有一个使用 awt 构建的 java 小程序。

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

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

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

4

3 回答 3

1

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

于 2009-10-15T09:01:39.023 回答
1

没有看到您的代码,我们不得不猜测,但是您的文本绘制是否有可能没有在paint()方法中完成?有关 AWT 绘画如何工作的详细信息,请阅读此内容。

于 2009-10-15T09:03:37.817 回答
0

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

就像是:

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

更新:您可能应该调用“repaint()”而不是直接调用paint()。

于 2011-02-15T15:57:32.737 回答