Java-单击按钮后绘制矩形

时间:2013-07-13 15:10:26

标签: java swing jbutton actionlistener

这个简单的代码应该在按下按钮后绘制矩形,但它不起作用。我不知道该怎么做,我脑子里唯一想到的是一个布尔变量触发器,但它看起来不像工作。任何建议?谢谢。

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();
    }
}

1 个答案:

答案 0 :(得分:0)

你可以在actionPerformed中调用重绘。

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