0

このコードには 2 つのボタンがあります。1 つは長方形を x 軸で右に移動させ、2 つ目は長方形を y 軸で下に移動させます。それの後ろに.Annyの提案はどうすれば画面をクリアできますか?

public class testing extends JFrame implements ActionListener{
public JButton button;
public JButton button2;
public boolean check;
public int x;
public int y;

public void paint(Graphics g){
    if(check==true){
    g.setColor(Color.red);
    g.fillRect(x, y, 50, 50);
    }
}

public void start(){
    setLayout(new FlowLayout());
    button=new JButton();
    button2=new JButton();

    button.setPreferredSize(new Dimension(50,50));
    button.setText("R"); 
    button.addActionListener(this);
    button2.setPreferredSize(new Dimension(50,50));
    button2.setText("D");
    button2.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){y=y+10;check=true;repaint();}});

    add(button);
    add(button2);

    setSize(500,500);
    setVisible(true);       
}   

public void actionPerformed(ActionEvent e) {
    x=x+10;
    check=true;
    repaint();
}

public static void main(String args[]){
    testing x=new testing();
    x.start();
}
    }
4

1 に答える 1

0

これについて 100% 確信があるわけではありませんが、親のペイント メソッドを呼び出す必要があると思われるため、ペイント メソッドを次のように変更します。

public void paint(Graphics g)
{
    super.paint(g);

    if(check)
    {
        g.setColor(Color.red);
        g.fillRect(x, y, 50, 50);
    }
}
于 2013-07-13T16:29:24.717 に答える