这个简单的代码应该在按下按钮后绘制矩形,但它不起作用。我不知道该怎么做,我脑子里唯一想到的是一个布尔变量触发器,但它看起来不像工作。任何建议?谢谢。
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();
}
}
答案 0 :(得分:0)
你可以在actionPerformed中调用重绘。
public void actionPerformed(ActionEvent e) {
check=true;
repaint();
}