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;

}

}

效果图

b740dccf9dedaaa20e8c998fbd413f6c.png

6e27b845c683442541249420b023735c.png

以上就是java实现潜艇大战游戏源码的详细内容,更多关于java潜艇大战游戏的资料请关注脚本之家其它相关文章!

相关文章

  • idea maven pom不自动更新的解决方法

    idea maven pom不自动更新的解决方法

    这篇文章主要介绍了idea maven pom不自动更新的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • MultipartFile文件判断是否存在的操作

    MultipartFile文件判断是否存在的操作

    这篇文章主要介绍了MultipartFile文件判断是否存在的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07
  • SpringBoot整合EasyExcel实现大规模数据的并行导出与压缩下载

    SpringBoot整合EasyExcel实现大规模数据的并行导出与压缩下载

    在 Spring Boot 应用中,整合 EasyExcel 实现并行导出数据并进行 Zip 压缩下载可以极大地提高数据处理效率和用户体验,文中通过代码示例介绍的非常详细,具有一定的参考价值,需要的朋友可以参考下
    2024-10-10
  • JAVA算法起步之快速排序实例

    JAVA算法起步之快速排序实例

    这篇文章主要介绍了JAVA算法起步之快速排序实例,需要的朋友可以参考下
    2014-02-02
  • Springcloud Bus消息总线原理是实现详解

    Springcloud Bus消息总线原理是实现详解

    Spring Cloud Bus 使用轻量级的消息代理来连接微服务架构中的各个服务,可以将其用于广播状态更改(例如配置中心配置更改)或其他管理指令,本文将对其用法进行详细介绍
    2022-09-09
  • 一文详解mybatis二级缓存执行流程

    一文详解mybatis二级缓存执行流程

    本文主要详细介绍了mybatis二级缓存执行流程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考价值,感兴趣的朋友们下面随着小编来一起学习吧
    2024-02-02
  • java 函数的重载和重写实例代码

    java 函数的重载和重写实例代码

    本文主要介绍Java 的重载和重写,学习java的同学都知道Java的多态有多重要,这里给大家举例说明函数的重载和重写,希望能帮助有需要的小伙伴
    2016-07-07
  • SpringBoot全局异常与数据校验的方法

    SpringBoot全局异常与数据校验的方法

    这篇文章主要介绍了SpringBoot全局异常与数据校验的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-11-11
  • 详解Java设计模式编程中的里氏替换原则

    详解Java设计模式编程中的里氏替换原则

    这篇文章主要介绍了Java设计模式编程中的里氏替换原则,有这个名字是因为这是由麻省理工学院的一位姓里的女士Barbara Liskov提出来的(嗯...),需要的朋友可以参考下
    2016-02-02
  • 如何使用IDEA从SVN服务端检出项目

    如何使用IDEA从SVN服务端检出项目

    这篇文章主要介绍了如何使用IDEA从SVN服务端检出项目问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12

最新评论