0

awtを使用して作成されたJavaアプレットがあります。

パネルオブジェクトにテキストを描画すると、すべてうまくいきます。ただし、ウィンドウのサイズを変更すると、すべてのテキストが消えます。

この動作は、jvmやプラットフォームによって異なります。

Microsoft JVMとの互換性を維持する必要があるため、swingに移動することはできません。

4

3 に答える 3

1

update(Graphics g)そこでテキストを上書きしてレンダリングする必要があります。このメソッドは、ウィンドウを再描画する必要があるときに呼び出されます。

于 2009-10-15T09:01:39.023 に答える
1

コードを見ずに推測する必要がありますが、paint()メソッドでテキストの描画が行われていない可能性はありますか?AWTペインティングの仕組みの詳細については、これをお読みください。

于 2009-10-15T09:03:37.817 に答える
0

ComponentListenerをアタッチしてみてください。ComponentListenerは、componentResized()内からpaint()を呼び出します。

何かのようなもの:

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

更新: paint()を直接呼び出すのではなく、おそらく'repaint()'を呼び出す必要があります。

于 2011-02-15T15:57:32.737 に答える