如何在不调整大小的情况下显示Applet中的修改内容

时间:2012-09-13 08:09:57

标签: java applet

我已经创建了一个applet游戏,但是当我修改一些内容时,我需要(最大化或最小化)调整窗口大小以显示我修改过的applet。

即使我添加标签或其他内容,它也需要调整大小,因为我没有使用paint方法。(不使用重绘)。

帮我解决这个问题,如何在不调整大小的情况下显示修改过的内容...

这是一个有相同问题的示例代码。

import java.awt.Button;
import java.awt.FlowLayout;
import java.awt.Label;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JApplet;

public class Appl extends JApplet implements ActionListener{

    Button b = new Button();
    public void init()
    {
        setLayout(new FlowLayout());
        setSize(300,300);
        setVisible(true);
        add(b);
        b.addActionListener(this);
    }



    public void actionPerformed(ActionEvent e) {
        if(e.getSource()==b)
        {
            add(new Label("Button clicked"));
            repaint();
        }
    }
}

1 个答案:

答案 0 :(得分:1)

如果我没记错,你只需在修改内容后调用重绘方法,就应该显示出来。

在调整Applet大小时,始终会隐式调用重绘。

编辑:在给定的示例中,在Japplet容器上应用验证方法对我有用。这也重绘了添加的组件,重绘只调用paint方法。试试吧: - )