小弟有个简单的程序,本意是要定义N多类,每个类的PinNum属性的值都不一样,想根据PinNum值的不同画出数量不同的矩形,为什么每次调用paint方法时,参数值老传递不进去。就是在子类构造方法里定义的PinNum值,老是传不进去。希望各位大哥指点改正
import java.awt.*;
import java.awt.event.*;
public class Chip extends Frame{
int PinNum;
public Chip(){
}
public Chip(int PinNum) {
this.PinNum = PinNum;
}
public void Draw(){
Chip p = new Chip();
p.setSize(500,500);
p.setVisible(true);
p.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
System.out.println (PinNum);
}
public void paint(Graphics g) { //PinNum值怎么老是传递不进去。
int x = 0;
for(int j = 1;j<PinNum/2;j++){
g.drawRect(80+x,80,10,10);
x += 20;
}
}
}
public class Alu extends Chip{ public Alu() {
super(14); //在这里初始化PinNum的值
}
}
public class Text { public static void main (String[] args) {
Chip t = new Alu();
t.Draw();
}
}
import java.awt.*;
import java.awt.event.*;
public class Chip extends Frame{
int PinNum;
public Chip(){
}
public Chip(int PinNum) {
this.PinNum = PinNum;
}
public void Draw(){
Chip p = new Chip();
p.setSize(500,500);
p.setVisible(true);
p.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
System.out.println (PinNum);
}
public void paint(Graphics g) { //PinNum值怎么老是传递不进去。
int x = 0;
for(int j = 1;j<PinNum/2;j++){
g.drawRect(80+x,80,10,10);
x += 20;
}
}
}
public class Alu extends Chip{ public Alu() {
super(14); //在这里初始化PinNum的值
}
}
public class Text { public static void main (String[] args) {
Chip t = new Alu();
t.Draw();
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货