java 点一下按钮就能画一个图形,怎么弄呢

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;
public class huatu {
static public void main(String[] args) {
new test();
}
}
class test extends JFrame {
JButton b1=new JButton("rect");
int f1=0,f2=0;
test() {
this.setBounds(100,100,500,500);
setLayout(new FlowLayout());
add(b1);
b1.addActionListener(new addActionListener());
this.setVisible(true);
}
class addActionListener implements ActionListener {

    @Override
    public void actionPerformed(ActionEvent e) {
        // TODO 自动生成的方法存根
        if(b1==e.getSource()) f1=1;
    }
}

}
class draw extends Canvas {
test t=null;
public draw (test t) {
this.t=t;
}
public void paint(Graphics g) {
if(t.f1==1)
g.drawRect(100, 100, 200, 200);
}

}


2个回答

 private void addCanvas(){//这是不断增加canvas的方式,如果在你的draw类中定义drawrect方法,也可以在同一个canvas上画矩形
        draw d = new draw(this);
        d.setBounds(100, 100, 400, 400);
        this.getContentPane().add(d);
        this.repaint();
        d.repaint();
    }
    class addActionListener implements ActionListener {
        @Override
        public void actionPerformed(ActionEvent e) {
            // TODO 自动生成的方法存根
            if(b1==e.getSource()) {
                f1=1;
                addCanvas();
            }
        }
    }
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐