完成效果:

 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. 使用 JavaScript 中的 document 对象查找 HTML 元素,实现“登录”按钮的高亮特效 鼠标悬浮于“登录”按钮时,按钮高亮显示;

    查看本章节 查看作业目录 需求说明: 使用 JavaScript 中的 document 对象查找 HTML 元素,实现"登录"按钮的高亮特效 鼠标悬浮于"登录" ...

  2. 什么是NaN?它的类型是什么?如何可靠的测试一个值是否等于NaN?

    NaN属性表示"不是数字"的值.这个特殊值是由于一个操作数是非数字的(例如"abc"/4)或者因为操作的结果是非数字而无法执行的. 虽然看起来很简单,但是NaN ...

  3. 通过Rancher Desktop在桌面上运行K8s

    Rancher 发行的操作系统新选择:Rancher Desktop for Windows,它可以帮助你在Windows桌面上管理Kubernetes和容器.当然他当然会支持Linux,Mac的. ...

  4. TKE 用户故事 | 作业帮 Kubernetes 原生调度器优化实践

    作者 吕亚霖,2019年加入作业帮,作业帮架构研发负责人,在作业帮期间主导了云原生架构演进.推动实施容器化改造.服务治理.GO微服务框架.DevOps的落地实践. 简介 调度系统的本质是为计算服务/任 ...

  5. springboot 配置 swagger2

    1.pom.xml 添加依赖 <!--swagger2 依赖--> <dependency> <groupId>io.springfox</groupId&g ...

  6. 【PowerShell】ASCII与Char之间的转换

    1 [char[]][int[]]$char=65..90 2 $char -join ',' 3 [int[]][char[]]$ascii=$char 4 $ascii -join ',' A,B ...

  7. Zotero群组新建后无法显示

    我们新建Zotero的群组后无法显示. 此时需要点击文献库,就刷新了. 修改Zotero的群组后无法显示修改后的名称 点击同步即可同步内容.

  8. 微服务架构 | 12.1 使用 Apache Dubbo 实现远程通信

    目录 前言 1. Dubbo 基础知识 1.1 Dubbo 是什么 1.2 Dubbo 的架构图 1.3 Spring Cloud 与 Dubbo 的区别 1.4 Dubbo 的特点 1.5 Dubb ...

  9. WebGPU图形编程(1):建立开发环境 <学习引自徐博士教程>

    首先感谢徐博士提供的视频教程,我的博客记录也是学习徐博士进行的自我总结,老徐B站学习视频链接网址:WebGPU图形编程 - 免费视频教程(1):建立开发环境_哔哩哔哩_bilibili 创建之前你需要 ...

  10. AOP操作-准备工作

    AOP操作(准备) 1,Spring 框架中一般基于 AspectJ 实现AOP操作 (1)什么是 AspectJ *AspectJ 不是 Spring 组成部分,独立AOP框架,一般把 Aspect ...