在我的班级中绘制Shape我想将参数发送到方法画像
g.drawRect (a, b, 200, 200);
我如何实现我的代码
class MyCanvas extends JComponent {
public void paint(Graphics g) {
g.drawRect (10, 10, 200, 200);
}
}
public class drawShape {
public drawShape(){
JFrame window = new JFrame();
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.setBounds(30, 30, 300, 300);
window.getContentPane().add(new MyCanvas());
window.setVisible(true);
}
}
答案 0 :(得分:1)
每次需要重新绘制组件时,都会从EDT调用方法paint
。绘图参数应被视为MyCanvas
的属性。
例如:
class MyCanvas extends JComponent {
int a,b;
public void setProps(int a, int b) {
this.a=a; this.b=b;
repaint();//mark this component to be repainted
}
public void paint(Graphics g) {
super.paint(g);
g.drawRect (a, b, 200, 200);
}
static public void main(String args[]){
JFrame window = new JFrame();
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.setBounds(30, 30, 300, 300);
MyCanvas canvas=new MyCanvas();
canvas.setProps(20,40);
window.getContentPane().add(canvas);
window.setVisible(true);
}
}