0

这个简单的代码应该在点击按钮后绘制矩形,但它不起作用。我不知道该怎么做,唯一想到的是一个布尔变量触发器,但它似乎不起作用。有什么建议么?谢谢你。

public class testing extends JFrame implements ActionListener{
    public JButton button;
    public boolean check;

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

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

        button.setPreferredSize(new Dimension(200,20));
        button.setText("ClickMe"); 
        button.addActionListener(this);

        add(button, BorderLayout.SOUTH);
        setSize(500,500);
        setVisible(true);
    }    

    public void actionPerformed(ActionEvent e) {    
        check=true;
    }

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

1 回答 1

0

你可以在 actionPerformed 中调用 repaint。

public void actionPerformed(ActionEvent e) {    
    check=true;
    repaint();
}
于 2013-07-13T15:27:46.403 回答