java实现潜艇大战游戏源码
更新时间:2021年06月01日 14:23:57 作者:遇见cy
潜艇大战游戏相信大家都玩过,是一款非常有趣的小游戏,那么基于代码是如何实现的呢?今天小编给大家带来一篇教程帮助大家学习java实现潜艇大战游戏,感谢的朋友一起看看吧
代码如下
package com.util; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.GridLayout; import java.awt.Image; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Observable; import javax.swing.JLabel; import javax.swing.JPanel; /* * 进图游戏的主界面面板 */ public class MainPanel extends JPanel { private static final long serialVersionUID = 1L; private MyButton startButton; private MyButton exitButton; private JLabel helpLabel; private JLabel helpLabel1; private JLabel helpLabel2; private JLabel helpLabel3; private Image image; private JLabel centerlabel; private boolean isStart; private boolean isExit; private Observable obs; public MainPanel(Observable ob) { obs = ob; startButton = new MyButton("进入游戏"); exitButton = new MyButton("退出游戏"); helpLabel = new JLabel(); helpLabel1 = new JLabel(); helpLabel2 = new JLabel(); helpLabel3 = new JLabel(); centerlabel = new JLabel(); this.setLayout(new BorderLayout()); this.helpLabel.setPreferredSize(new Dimension(645,291)); this.helpLabel1.setPreferredSize(new Dimension(180,80)); this.helpLabel2.setPreferredSize(new Dimension(215,80)); this.helpLabel3.setPreferredSize(new Dimension(645,80)); this.centerlabel.setPreferredSize(new Dimension(460,80)); centerlabel.setLayout(new GridLayout(2,1)); centerlabel.add(this.startButton); centerlabel.add(this.exitButton); this.centerlabel.setBackground(new Color(255,255,0)); this.add(helpLabel,BorderLayout.NORTH); this.add(helpLabel1,BorderLayout.EAST); this.add(helpLabel2,BorderLayout.WEST); this.add(helpLabel3,BorderLayout.SOUTH); this.add(centerlabel,BorderLayout.CENTER); image = Toolkit.getDefaultToolkit().getImage("imgs/主界面112.png"); // image = new ImageIcon(image).getImage(); this.startButton.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { boolean flag = true; MainPanel.this.setIsStart(flag); MainPanel.this.obs.notifyObservers(MainPanel.this); } } ); this.exitButton.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { MainPanel.this.setExit(true); } } ); } public void paint(Graphics g) { super.paint(g); Graphics2D g2 = (Graphics2D) g; g2.drawImage(image,0,0, this.getWidth(), this.getHeight(),this); super.paintComponents(g); } public boolean getIsStart() { return this.isStart; } public void setIsStart(boolean isStart) { this.isStart = isStart; } public boolean isExit() { return isExit; } public void setExit(boolean isExit) { this.isExit = isExit; } }
效果图
以上就是java实现潜艇大战游戏源码的详细内容,更多关于java潜艇大战游戏的资料请关注脚本之家其它相关文章!
相关文章
SWT(JFace)体验之ApplicationWindow
SWT(JFace)体验之ApplicationWindow2009-06-06一篇文章了解Jackson注解@JsonFormat及失效解决办法
这篇文章主要给大家介绍了关于如何通过一篇文章了解Jackson注解@JsonFormat及失效解决办法的相关资料,@JsonFormat注解是一个时间格式化注解,用于格式化时间,文中通过代码介绍的非常详细,需要的朋友可以参考下2023-11-11MyBatis-plus使用lambda条件构造器报错问题及解决
这篇文章主要介绍了MyBatis-plus使用lambda条件构造器报错问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2024-01-01SpringBoot Mybatis Plus公共字段自动填充功能
这篇文章主要介绍了SpringBoot Mybatis Plus公共字段自动填充功能的相关资料,需要的朋友可以参考下2017-04-04spring 或者spring boot 调整bean加载顺序的方式
这篇文章主要介绍了spring 或者spring boot 调整bean加载顺序的方式,本文通过实例代码讲解三种调整类加载顺序的方式,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2023-03-03使用Spring的AbstractRoutingDataSource实现多数据源切换示例
这篇文章主要介绍了使用Spring的AbstractRoutingDataSource实现多数据源切换示例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。2017-02-02
最新评论