我已经创建了一个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();
}
}
}
答案 0 :(得分:1)
如果我没记错,你只需在修改内容后调用重绘方法,就应该显示出来。
在调整Applet大小时,始终会隐式调用重绘。
编辑:在给定的示例中,在Japplet容器上应用验证方法对我有用。这也重绘了添加的组件,重绘只调用paint方法。试试吧: - )