`
香煎马鲛鱼
  • 浏览: 109515 次
  • 性别: Icon_minigender_2
社区版块
存档分类
最新评论

弹球游戏分步解析(一)——界面绘制

    博客分类:
  • java
阅读更多

弹球游戏分步解析(一)——界面绘制

接下来我们将要做的游戏是一个弹球游戏,在这个游戏中,我们将会运用到的知识点有:1、绘制窗体;2、绘制按钮;3、绘制菜单栏;4、事件监听器的使用;5、多线程;6文件操作之另存为方法;

123点在这节会跟大家仔细解释;第4点和第5点由于涉及的知识点较多,分别讲;

由于弹球游戏代码量较大,每次显示的代码都不是完整代码,最后我会把完整代码打包供大家学习;

好了,我们开始进入正题吧;首先上源代码;

//javax.swing.JFileChooser使用此来选择文件

package jumpingBall;

 

import java.awt.Toolkit;

import java.awt.BorderLayout;

import java.awt.Menu;

import java.io.IOException;

import java.util.ArrayList;

import java.util.List;

import javax.swing.JButton;

import javax.swing.JFileChooser;

import javax.swing.JFrame;

import javax.swing.JMenu;

import javax.swing.JMenuBar;

import javax.swing.JMenuItem;

import javax.swing.JPanel;

import javax.swing.JSeparator;

 

 

public class JFjumpingBall extends JFrame{

 

         /**

          * @param args

          * @throws IOException

          */

         public static void main(String[] args) throws IOException {

                   // TODO Auto-generated method stub

 

                   JFjumpingBall ballgame = new JFjumpingBall();

                   ballgame.JFshow();

         }

        

         public void JFshow(){

                   //建立一个窗体:

            double width = Toolkit.getDefaultToolkit().getScreenSize().width;//定义width获取显示器在该分辨率下的宽

            double height = Toolkit.getDefaultToolkit().getScreenSize().height;//定义height获取显示器在该分辨率下的高

            this.setSize((int)width,(int)height);//设置窗体大小

            this.setTitle("小鱼躲气泡");//设置标题

            this.setLocationRelativeTo(null);//设置窗口居中

            this.setDefaultCloseOperation(3);//设置关闭窗口程序停止运行

            this.setLayout(new BorderLayout());//设置窗体布局(边框式布局)

                   JPanel northPanel = new JPanel();//北部面板

                   JPanel jpanel = new JPanel();//面板

                   JPanel southjpanel = new JPanel();//南部面板

                   northPanel.setLayout(new BorderLayout());//设置北部面板布局方式

                   JPanel northLeftPanel = new JPanel();//北部面板左边

                   JPanel northRightPanel = new JPanel();//……右边

                   JPanel northCenterPanel = new JPanel();//……中间

                   northLeftPanel.setSize(100,100); //

                   northRightPanel.setSize(100, 100);//

                   JButton jbplay = new JButton("Play");//放置游戏按钮(开始游戏)

                   JButton jbPause = new JButton("Pause");//放置游戏按钮(游戏暂停)

                   JButton jbAdd  = new JButton("Add");//放置游戏按钮(增加)

                   JButton deletone = new JButton("Delet one ball");//放置游戏按钮(减少一个小球)

                   northCenterPanel.add(jbplay);//将按钮放置在北部面板的中间面板

                   northCenterPanel.add(jbPause);//同上

                   northCenterPanel.add(jbAdd);//同上

                   northCenterPanel.add(deletone);//同上

                   northPanel.add(northCenterPanel,BorderLayout.CENTER);//将北部面板的各部分面板加在北部面板里

                   northPanel.add(northLeftPanel,BorderLayout.WEST);//

                   northPanel.add(northRightPanel,BorderLayout.EAST);//

                   this.add(northPanel,BorderLayout.NORTH);//布置窗体

                   this.add(jpanel,BorderLayout.CENTER);//

                   this.add(southjpanel,BorderLayout.SOUTH);//

                   this.setJMenuBar(JMenuline(jpanel));//给窗体添加菜单栏(菜单栏方法:JMenuline;方法声明在下部)

                   this.setVisible(true);//设置窗体可见

                   //List<BallThread> allBall = new ArrayList<BallThread>();//

                  

ActionListener l = new ActionListener(jpanel);//动作监听器

                   jbplay.addActionListener(l);//jbplay添加动作监听器

                   jbPause.addActionListener(l);//jbPause添加动作监听器

                   jbAdd.addActionListener(l);//jbAdd添加动作监听器

                   deletone.addActionListener(l);//delete添加动作监听器

//添加监听器部分属于第四点的知识点,只做的界面的可以吧这些删掉

         }

         public JMenuBar JMenuline(JPanel jpanel){

            JMenuBar jme =new JMenuBar();//定义菜单栏

            JMenu menuF = new JMenu("文件(F");//菜单栏按钮

            JMenuItem jmiFO = new JMenuItem("保存(save)");//定义菜单栏按钮的选项(保存)

            JMenuItem jmiIO = new JMenuItem("读取(login)");//定义菜单栏按钮的选项(读取)

            foListener listener = new foListener();//定义保存监听器

            ioListener listener2 = new ioListener(jpanel);//定义读取监听器

            jmiFO.addActionListener(listener);//将保存监听器加在jmiFO

            jmiIO.addActionListener(listener2);//将读取监听器加在jmiIO

            menuF.add(jmiFO);//将(保存)菜单栏按钮加在menuF

            JSeparator jSeparator = new JSeparator();//定义水平分割线

            menuF.add(jSeparator);//将水平分割线加在menuF

            menuF.add(jmiIO);//将(读取)菜单栏按钮加在menuF

            jme.add(menuF);//讲此菜单栏按钮加在jme

            return jme;

         }

 

}

0
1
分享到:
评论

相关推荐

    弹球游戏分步解析(五)——阶段性总结

    在本篇【弹球游戏分步解析(五)——阶段性总结】中,我们将对一个基于Java实现的弹球游戏进行深入探讨。这个弹球游戏的源代码提供了丰富的学习材料,帮助开发者了解游戏开发的基本概念和技术。博文链接为,可以在...

    自己用C语言写的弹球游戏——核心代码——最简洁1

    在本项目中,我们探索的是一个使用C语言编写的弹球游戏的核心代码。这款小游戏是基于WIN32框架构建的,对于想要学习游戏编程初学者来说,这是一个很好的起点。通过这个简洁的代码实现,我们可以了解到游戏开发的一些...

    opencv下的弹球游戏

    【OpenCV下的弹球游戏】是一个基于Visual Studio(VS)开发环境,利用OpenCV库创建的简单游戏项目。OpenCV,全称为Open Source Computer Vision Library,是一个开源的计算机视觉库,它包含了大量的图像处理和计算机...

    C#简单弹球游戏源码

    1. **主窗口与控件**:游戏界面主要由一个PictureBox控件构成,用于绘制游戏画面,包括背景、弹球和挡板。图片的加载和显示,可以通过PictureBox的Image属性来设置。同时,还需要添加一个Timer控件,用以控制游戏的...

    vb编写弹球游戏

    本文将深入探讨如何使用Visual Basic(VB)编写一个弹球游戏,结合提供的完整源码,我们将一步步解析其背后的逻辑与实现细节。 一、VB基础介绍 Visual Basic,简称VB,是由微软公司推出的一种面向对象的编程语言,...

    弹球游戏【VB源码】

    1. 用户界面:包括游戏背景、弹球、挡板等元素的绘制。 2. 物理引擎:模拟弹球的运动轨迹,包括弹球的碰撞检测和速度计算。 3. 控制逻辑:处理玩家对挡板的控制,以及游戏规则的执行。 4. 游戏状态管理:如游戏开始...

    python100行代码写一个弹球游戏

    本篇文章将深入探讨如何使用Python的pgzero库创建一个经典的弹球游戏——PONG。PONG是一款简单的双人对战游戏,两个玩家各控制一个垂直移动的挡板,试图让一个小球在屏幕上反弹并使对方无法接到球。 首先,我们要...

    Scratch创意编程——弹球游戏 学历案.pdf

    Scratch创意编程——弹球游戏 学历案.pdf

    弹球游戏(java程序)

    在弹球游戏中,SwingDesigner可能被用来快速创建和调整游戏界面。 4. **多线程**:多线程是Java的一项核心特性,它允许多个任务并发执行。在这个弹球游戏中,多线程被用来分离游戏逻辑和用户交互。一个线程负责计算...

    html5弹球游戏

    在弹球游戏中,Canvas被用来绘制游戏场景,包括弹球、挡板以及背景。 2. **碰撞检测**:游戏中的关键部分是弹球与不同物体之间的碰撞检测。这通常涉及到几何学和物理原理,例如判断两个圆形是否相交,或者判断一个...

    Andriod弹球游戏源码

    《Android弹球游戏源码解析》 Android平台上的游戏开发是一项充满挑战与乐趣的工作,而“Android弹球游戏”作为一款简单的单机游戏,为初学者提供了很好的学习实例。这款游戏的核心在于挡板与小球之间的碰撞反弹,...

    c# 弹球游戏源码

    1. **图形用户界面(GUI)设计**:游戏可能使用Windows Forms或WPF(Windows Presentation Foundation)库来创建用户界面,包括游戏窗口、控件(如弹球和挡板)以及动画效果。 2. **事件处理**:C#中的事件处理机制...

    VB弹球游戏代码

    VB弹球游戏是一款基于Visual Basic (VB)编程语言开发的经典小游戏。它利用VB的基本控件、事件处理和图形绘制功能,模拟了真实的物理弹球场景,玩家可以通过控制挡板来反弹弹球,防止其落入底部的洞口。下面将详细...

    一个java写的弹球游戏

    Java弹球游戏是一种基于Java编程语言开发的简单计算机游戏,它展示了Java在图形用户界面(GUI)和事件处理方面的能力。在这个游戏中,玩家通过控制一块可移动的挡板来反弹小球,防止小球落下屏幕。游戏的核心机制...

    弹球游戏(flash编写)

    《弹球游戏(Flash编写):深入解析与技术探讨》 在数字娱乐领域,Flash曾是制作互动内容的主流工具,尤其是对于小游戏的开发。本文将深入探讨一款名为“弹球游戏”的Flash作品,该作品提供了源代码和最终的SWF文件...

    弹球游戏 JavaAWT制作

    在本项目"弹球游戏 JavaAWT制作"中,开发者运用了Java的图形用户界面(GUI)库JavaAWT来创建一个互动的弹球游戏。JavaAWT是Java早期提供的用于构建桌面应用的基础组件,它提供了丰富的控件、布局管理和事件处理机制...

    QT开发的弹球游戏

    总的来说,QT开发的弹球游戏涉及了图形用户界面设计、事件处理、动画、游戏逻辑等多个方面,是学习和掌握QT开发的一个好实例。通过对源代码的学习和分析,初学者可以深入了解QT框架的使用方法,并提升自己的编程技能...

    java弹球游戏源码已编译

    Java弹球游戏是一款基于Java编程语言开发的简单游戏,它主要展示了如何利用Java Swing或JavaFX库创建图形用户界面(GUI)以及如何处理线程来实现动态的游戏效果。在这个游戏中,一个小球会在屏幕内弹来弹去,碰到...

    Java程序设计实验报告2(弹球游戏)

    - **显示计时**: 在游戏界面上实时更新计时器的显示,让玩家知道已经坚持了多少秒。 #### 结论 通过本次实验,不仅加深了对Swing图形用户界面编程的理解,还掌握了多线程编程、事件处理和碰撞检测等关键技能。这些...

    java弹球游戏.zip

    java弹球游戏java弹球游戏java弹球游戏 java弹球游戏java弹球游戏java弹球游戏 java弹球游戏java弹球游戏java弹球游戏 java弹球游戏java弹球游戏java弹球游戏 java弹球游戏java弹球游戏java弹球游戏 java弹球游戏...

Global site tag (gtag.js) - Google Analytics