我用java编写代码:
import java.applet.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class ProstyApplet extends Applet
{
Button b1 = new Button("BUTTON");
@Override
public void init()
{
System.out.println("START");
b1.addActionListener(new B1());
add(b1);
}
@Override
public void paint(Graphics g)
{
g.setColor(Color.red);
g.drawOval(150,150,100,100);
}
class B1 implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
//here I want to draw rectangle
}
}
}
我创建了按钮B1
,我为ActionListener
创建了B1
。我希望我的程序在单击时绘制矩形,但是我在使用paint()
,repaint()
方法时遇到问题。按下按钮后绘制矩形的方法是什么?
答案 0 :(得分:2)
这是怎么回事。 paint()
方法应该绘制要绘制的事物列表。 actionPerformed()
方法应该只是添加,删除或修改要绘制的内容,然后让applet重新绘制。然后,AWT将再次调用paint()
方法,将迭代绘制的内容并绘制它们。