完成效果:

 1 package com.neuedu.test;
2
3 import java.awt.Frame;
4 import java.awt.Graphics;
5 import java.awt.event.WindowAdapter;
6 import java.awt.event.WindowEvent;
7
8 import com.neuedu.utill.GameUtill;
9
10 public class TaiQiu extends Frame {
11 public void loadFrame () {
12 setLocation(100, 100);
13 setSize(800,600);
14 setTitle("台球");
15 setResizable(false);
16 setVisible(true);
17 addWindowListener(new WindowAdapter() {
18
19 @Override
20 public void windowClosing(WindowEvent e) {
21 // TODO Auto-generated method stub
22 System.exit(0);
23 }
24
25 });
26 }
27 @Override
28 public void paint(Graphics g) {
29 // TODO Auto-generated method stub
30 g.drawImage(GameUtill.getImage("com/neuedu/img/zhuomian.png"),10,50,null);
31 g.drawImage(GameUtill.getImage("com/neuedu/img/0.png"),200,200,20,20,null);
32 g.drawImage(GameUtill.getImage("com/neuedu/img/1.png"),250,200,20,20,null);
33 g.drawImage(GameUtill.getImage("com/neuedu/img/2.png"),200,250,20,20,null);
34 g.drawImage(GameUtill.getImage("com/neuedu/img/3.png"),300,350,20,20,null);
35 g.drawImage(GameUtill.getImage("com/neuedu/img/4.png"),400,180,20,20,null);
36 g.drawImage(GameUtill.getImage("com/neuedu/img/5.png"),500,200,20,20,null);
37 g.drawImage(GameUtill.getImage("com/neuedu/img/6.png"),650,200,20,20,null);
38 g.drawImage(GameUtill.getImage("com/neuedu/img/7.png"),480,200,20,20,null);
39 g.drawImage(GameUtill.getImage("com/neuedu/img/8.png"),580,300,20,20,null);
40 g.drawImage(GameUtill.getImage("com/neuedu/img/9.png"),360,300,20,20,null);
41 g.drawImage(GameUtill.getImage("com/neuedu/img/10.png"),550,350,20,20,null);
42 g.drawImage(GameUtill.getImage("com/neuedu/img/11.png"),350,250,20,20,null);
43 g.drawImage(GameUtill.getImage("com/neuedu/img/12.png"),300,400,20,20,null);
44 g.drawImage(GameUtill.getImage("com/neuedu/img/13.png"),400,300,20,20,null);
45 g.drawImage(GameUtill.getImage("com/neuedu/img/14.png"),200,250,20,20,null);
46 g.drawImage(GameUtill.getImage("com/neuedu/img/15.png"),100,200,20,20,null);
47
48
49 }
50 public static void main(String[] args) {
51 TaiQiu tq = new TaiQiu();
52 tq.loadFrame();
53 }
54 }
 1 package com.neuedu.utill;
2
3 import java.awt.Image;
4 import java.awt.image.BufferedImage;
5 import java.io.IOException;
6 import java.net.URL;
7
8 import javax.imageio.ImageIO;
9
10 public class GameUtill {
11 public static Image getImage (String imgPath) {
12 URL u = GameUtill.class.getClassLoader().getResource(imgPath);
13 BufferedImage img = null;
14 try {
15 img = ImageIO.read(u);
16 } catch (IOException e) {
17 // TODO Auto-generated catch block
18 e.printStackTrace();
19 }
20 return img;
21
22 }
23 }

Java GUI 简单台球游戏模型的更多相关文章

  1. java实现简单扫雷游戏

    /** * 一个简单的扫雷游戏 MainFram.java */ package www.waston; import java.awt.BorderLayout; import java.awt.C ...

  2. java GUI简单记事本

    代码: import java.awt.*; import java.awt.event.*; import java.io.*; class MyMenu { //定义该窗体所需的组件,方便其他函数 ...

  3. Java GUI学习,贪吃蛇小游戏

    JAVA GUI练习 贪吃蛇小游戏 前几天虽然生病了,但还是跟着狂神学习了GUI的方面,跟着练习了贪吃蛇的小项目,这里有狂神写的源码点我下载,还有我跟着敲的点我下载,嘿嘿,也就注释了下重要的地方,这方 ...

  4. 写了一个Java的简单缓存模型

    缓存操作接口 /** * 缓存操作接口 * * @author xiudong * * @param <T> */ public interface Cache<T> { /* ...

  5. java实现简单窗体小游戏----球球大作战

    java实现简单窗体小游戏----球球大作战需求分析1.分析小球的属性: ​ 坐标.大小.颜色.方向.速度 2.抽象类:Ball ​ 设计类:BallMain—创建窗体 ​ BallJPanel—画小 ...

  6. 台球游戏的核心算法和AI(1)

    前言: 08年的时候, 写过一个台球游戏, 用的是java, 不过代码真的是用传说中的神器notepad写的(你信吗? 其实是用GVIM写的, ^_^), 很多类都在同一java文件中编写. 可见当时 ...

  7. 台球游戏的核心算法和AI(2)

    前言: 最近研究了box2dweb, 觉得自己编写Html5版台球游戏的时机已然成熟. 这也算是圆自己的一个愿望, 一个梦想. 承接该序列的相关博文: • 台球游戏核心算法和AI(1) 同时结合htm ...

  8. 基于Java的开源3D游戏引擎jMonkeyEngine

    jMonkeyEngine简介 jMonkeyEngine是一款纯Java语言编写的游戏引擎,继承了Java应用跨平台的特性,而且是开放源代码的,遵循BSD开源协议,BSD开源协议用一句简单的话概括就 ...

  9. Java一个简单的贪吃蛇

    Java一个简单的贪吃蛇 虽然GUI已经要淘汰了,但是手动写写界面还是有助于理解语法的,像构造函数 ,函数调用,内部类,继承,接口.有助于半初学者强化理解. 直接上代码 游戏主体类: package ...

随机推荐

  1. Java初学者作业——编写 Java 程序,定义 Java 类 (Point) 用来表示坐标,坐标范围在(0,0)到(100,100)以内,并显示合法的坐标在控制台。

    返回本章节 返回作业目录 需求说明: 编写 Java 程序,定义 Java 类 Point 用来表示坐标,坐标范围在(0,0)到(100,100)以内,并显示合法的坐标在控制台. 实现思路: 定义 P ...

  2. Hangfire任务调度框架使用

    1.HangFire简介 HangFire是一个免费简单实用的分布式后台定时调度服务,在现在.net开发中,人气算是很高的. HangFire提供了内置集成化的控制台,可以直观明了的查看作业调度情况, ...

  3. [Blue Prism] Data item 的使用

      1.用于存储各种数据类型的变量,支持的数据类型如下: Binary - 用于存储二进制 blob,例如文本文件. Date - 用于存储日期. 此数据类型与 DateTime 类似,只是 Date ...

  4. 论文翻译:2021_Semi-Blind Source Separation for Nonlinear Acoustic Echo Cancellation

    论文地址:https://ieeexplore.ieee.org/abstract/document/9357975/ 基于半盲源分离的非线性回声消除 摘要: 当使用非线性自适应滤波器时,数值模型与实 ...

  5. vue render中如何正确配置img的路径

    第一种:适用于静态路径 attrs: { src: require('../common/images/logo.png'), title: 'img' } 第二种:适用于动态路径 domProps: ...

  6. How to die?

    下次给一个 vector 搞 unique 之前,一定要记得给它排序!!1(少点自以为是) 对一个 set "同时"删除两个数时,一定要注意特判两个数是否重复/重叠. 有两个序列, ...

  7. Ubuntu下使用VS Code创建Spring Boot工程

    目的 我们将在Ubuntu桌面系统下,使用VS Code(Visual Studio Code)编辑器从零开始创建一个Spring Boot工程,并实现一个简单的RESTful风格接口.使用这套流程的 ...

  8. 系统信号SIGHUP、SIGQUIT、SIGTERM、SIGINT的场景

    SIGHUP:hong up 挂断.本信号在用户终端连接(正常或非正常)结束时发出, 通常是在终端的控制进程结束时, 通知同一session内的各个作业, 这时它们与控制终端不再关联.登录Linux时 ...

  9. gin中的文件上传

    1. 单文件上传 package main import ( "fmt" "github.com/gin-gonic/gin" "log" ...

  10. Tomcat-默认访问的工程和默认访问的资源

    Tomcat(默认访问的工程和默认访问的资源) ROOT的工程的访问,以及默认index.html页面的访问 当我们在浏览器地址栏中输入访问地址如下: http://ip:port/   ====== ...