Component at = backgroundPanel.getComponentAt(e.getPoint())
if (at instanceof BackgroundPanel)( //如果点到面板也扣除子弹MainFrame.useAmmo(); //消耗子弹
//生成猪角色的线程
class PigThread extends Thread(
@Override
public void run() (
while (true) (
// 创建代表猪的标签控件
PigLabel pig =new PigLabel();
pig.setSize(120,80); //设置控件初始大小
backgroundPanel.add(pig); // 添加控件到背景面板
try(
//线程随机休眠一段时间
sleep((long) (random() *3000) + 500);
) catch (InterruptedException e)(
e.printStackTrace();
/1生成鸟角色的线程
class BirdThread extends Thread (
@Override
public void run()t
while (true) (
// 创建代表鸟的标签控件
BirdLabel bird =new BirdLabel();
bird.setSize(50,50); //设置控件初始大小
backgroundPanel.add(bird); //添加控件到背景面板
try(
//线程随机休眠一段时间
sleep((long) (Math.random() *3000) + 500);
)catch (InterruptedException e)(
e.printStackTrace();
import java.awt Container;
import java awt.event.;
import javax.swing."
public class BirdLabel extends JLabel implements Runnable(
//随机生成线程的休眠时间,即控制鸟的移动速度
private int sleepTime = (int) (Math.random() *300) + 5;
private int y = 100;
private Thread thread; //将线程作为成员变量
private Container parent;
private int score = 15; /1 该类角色对应的分数
1/ 构造方法
public BirdLabel() (
super();
// 创建鸟的图标对象
Imagelcon icon = new lmagelcon(getClass().get