代码如下

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潜艇大战游戏源码项目相关推荐

  1. c#推箱子小游戏代码_C# 推箱子游戏源码(带音效/关卡)

    C# 推箱子游戏源码(带音效/关卡) c# 2021-1-29 下载地址 https://www.codedown123.com/62444.html Vs2010 FrameWork 4.0 具有音 ...

  2. 哆啦A梦消除连连看游戏源码项目完整版

    欢迎大家光临我的个人网店:http://shop.662p.com/shop/view8.html 哆啦A梦连连看游戏源码完整版,游戏源码已经通过本人在真机上测试非常流畅好玩,本代码主本人编写,没版权 ...

  3. ios水果风暴游戏源码项目下载

    这是一款ios水果风暴游戏源码下载,介绍给大家一下,喜欢的朋友可以下载学习一下吧. 应用介绍:这是一个以获得高分和挑战更高难度为目的的游戏.游戏中有九种不同的卡通水果,您可以交换屏幕中两个相邻水果的位 ...

  4. java捕鱼达人_java捕鱼达人游戏(源码)

    [实例简介] java做的捕鱼游戏,有兴趣的小伙伴们可以看看了,源码非常详细. [实例截图] [核心代码] FishGame └── FishGame ├── bg │   ├── fishlight ...

  5. java雷电游戏源码项目

    部分代码GameFrame .java package com.leidian; import java.awt.BorderLayout; import javax.swing.JFrame; pu ...

  6. eclipse if代码折叠_仅需一页Java代码就能实现网页源码爬取

    作者|小鱼儿. yanxiao|CSDN Java代码基于Eclipse简单实现网页源码爬取 今天给大家分享我的最新java学习进程--java网页源码爬虫,废话不多说盘代码. 仅需一页代码: pac ...

  7. 《游戏学习》Java实现蜘蛛纸牌小游戏源码

    游戏截图 项目目录结构 蜘蛛牌 <关于>功能类 import javax.swing.*; import java.awt.*;/***"关于"窗口*/ public ...

  8. 20行python代码的入门级小游戏--源码:猜大小

    源码: import random rang1 = int(input("请设置本局游戏的最小值:")) rang2 = int(input("请设置本局游戏的最大值:& ...

  9. 激情台球游戏源码项目

    android游戏开发实例----桌面类游戏--<激情台球> 还有地图编辑源码和ppt 此系列游戏代码皆为 android游戏开发教程一书,仅为开发教学演示,非上线游戏代码 游戏项目××× ...

最新文章

  1. matplotlib.pyplot.plot 用法详解
  2. 中继器 删除行_Axure9实操教程9-中继器动作(二)
  3. 在拉取和推送都存在,冲突时,用命令行解决
  4. Java入门 简易计算器
  5. IntelliJ IDEA 编辑器配置vue高亮显示
  6. mac版mysql 1290_Mac 终端下mysql load data infile 文件路径 into table 表名称 操作,[Error Code] 1290 - The MyS...
  7. 【笔记】LR录制方式和常用函数
  8. 运行中的linux备份系统盘,怎样使用ghost对linux进行系统备份?
  9. 来面试,偷懒不答题,直接忽略
  10. Linux C++,使用log4cpp记录日志示例详解
  11. 怎么提供专利技术交底书
  12. 漫画×雕塑 | 之于表达
  13. Xposed框架安装、使用及插件开发
  14. 计算机的ps快捷键,【教程】如何设置ps的快捷键?
  15. FMI飞马网【线上直播】京东POP接口自动化测试
  16. android移动开发软件安装,android studio 开发的安卓软件怎么安装到手机上
  17. 很有意境的语句[转]
  18. Selenium根据输入的公司名称来爬取公司的详细信息!
  19. 三分钟教你学会如何将密文解码成明文
  20. 什么是聚类以及四种聚类方法的比较

热门文章

  1. 必看!建立内部邮件服务器注意要点
  2. Android RadioButton 语言切换问题
  3. Java虚拟机学习 - 体系结构 内存模型
  4. 备份的sql文件乱码无法导入
  5. 小程序切换账户拉取仓库文件的appid提示
  6. [翻译]HTTP: Response Code
  7. GLKVector3参考
  8. 最长公共子序列(POJ1458)
  9. Alphabet旗下Sidewalk Labs试图通过比赛来打造智慧城市
  10. 科技驱动未来:飞康如何赢得尤尼克斯的青睐?