基于Java语言的打地鼠的小游戏源代码是什么?

基于Java语言的打地鼠的小游戏源代码是什么?,第1张

 public void mouseClicked(MouseEvent e){

Object source=e.getSource() //获取事件源,即地鼠标签

if(source instanceof JLabel){ //手答如果事件是标签组件

JLabel mouse=(JLabel)source //强制转换为JLabel标签

mouse.setIcon(null) //取消标签图标

}

}

})

this.getContentPane().add(mouses[i]) //添加显示地鼠的标签到窗体

}

mouses[0].setLocation(253, 300) //设置每个标签的位置

mouses[1].setLocation(333, 250)

mouses[2].setLocation(388, 296)

 薯皮 mouses[3].setLocation(362, 364)

mouses[4].setLocation(189, 353)

mouses[5].setLocation(240, 409)

final JLabel backLabel=new JLabel() //创建显示背景的标签

backLabel.setBounds(0, 0, img.getIconWidth(), img.getIconHeight())

this.setBounds(100,100,img.getIconWidth(),img.getIconHeight())

backLabel.setIcon(img)//添加背景到标签

this.getContentPane().add(backLabel) //添加背景标签到窗体

}

/**

* 线毕手慧程的核心方法

*/

public void run(){

while(true){//使用无限循环

try{

Thread.sleep(3000)//使线程休眠3秒

int index=(int)(Math.random()*6) //生成随机的地鼠索引

if(mouses[index].getIcon()==null){ //如果地鼠标签没有设置图片

mouses[index].setIcon(imgMouse) //为该标签添加地鼠图片

}

}catch(InterruptedException e){

e.printStackTrace()

}

}

}

}

A。首先你的图片路径找不到,所以没有东西显示。

解决方法,1.如果你用eclipse那首颂轮么到workspace下找到项目路径下的樱渣bin文件夹,将图片放到与.Class文件同目录下。

2.或者修改代码

ImageIcon icon1 = new ImageIcon("mouse.gif ")

将其中的"mouse.gif "指定为你图者信片所在的路径.

B.第二个问题是

public void mousePressed(MouseEvent e) 的左面有个小三角形是eclipse的提示,说明本方法继承自其它父类的方法。

另外,代码虽然没有什么错,但是本身这样的写实有问题的。比如设计模式,重用性等等。

既然前面的问题解决了,那么背景当然是加代码如下了:

Container c = getContentPane()

c.setBackground(Color.red)

如果想要加自定义的图片作为背景有点麻烦:

1.首先设置一个label

ImageIcon background = new ImageIcon("test.jpg")

JLabel label = new JLabel(background)

// 把标签的大小位置设置为图片刚好填充整个面板

label.setBounds(0, 0, background.getIconWidth(),

background.getIconHeight())

// 把内容窗格转化为JPanel,否则不能用方法setOpaque()来使内容窗格透明

imagePanel = (JPanel) frame.getContentPane()

imagePanel.setOpaque(false)

// 内容窗格默认的布局管理器为BorderLayout

imagePanel.setLayout(new FlowLayout())

imagePanel.add(new JButton("测试按钮"))

frame.getLayeredPane().setLayout(null)

// 把背景图片添加到分层窗格的最底层作为背景

frame.getLayeredPane().add(label, new Integer(Integer.MIN_VALUE))

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)

frame.setSize(background.getIconWidth(), background.getIconHeight())

frame.setResizable(false)

frame.setVisible(true)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12552796.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存