我正在編寫遊戲,我的項目結構如下:MouseListener在JLabel中不工作
我們有一個抽象類,所有其他類都從它繼承。
public abstract class Bird extends JLabel implements MouseListener {
private static final long serialVersionUID = 1L;
private int M_weight;
private int M_radius;
private long M_bornTime;
private int M_maxBirdPower;
private BirdState M_birdState;
private boolean B_prepareToShoot;
public Bird(int weight, int radius, long bornTime, int maxBirdPower,
BirdState birdState) {
this.M_weight = weight;
this.M_radius = radius;
this.M_bornTime = bornTime;
this.M_maxBirdPower = maxBirdPower;
this.M_birdState = birdState;
this.B_prepareToShoot = false;
this.addMouseListener(this);
}
public BirdState getBirdState() {
return M_birdState;
}
}
還有一些類爲RedBird,它繼承自Bird類並實現了抽象函數。
public class RedBird extends Bird {
private static final long serialVersionUID = 1L;
public RedBird(int weight, int radius, long bornTime, int maxBirdPower,
BirdState birdState) {
super(weight, radius, bornTime, maxBirdPower, birdState);
}
@Override
public void mouseClicked(MouseEvent arg0) {
System.out.println("Clicked");
}
@Override
public void mouseEntered(MouseEvent arg0) {
}
@Override
public void mouseExited(MouseEvent arg0) {
}
@Override
public void mousePressed(MouseEvent arg0) {
}
@Override
public void mouseReleased(MouseEvent arg0) {
}
}
我在JPanel中添加了一個對象從紅鳥級,但是當我在此對象上單擊,MouseListener
不起作用。問題是什麼 ?任何人都可以給我一個解決方案。
感謝提前:)
*‘有什麼問題嗎?’*大概佈局和大小。對於WAG以外的內容,請發佈[SSCCE](http://sscce.org/)。 –
@AndrewThompson什麼是WAG? –
你可以發佈你添加'RedBird'到'JPanel'的代碼嗎? – Genzer