完成效果:

 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 设置系统参数和运行参数

    系统参数 系统级全局变量,该参数在程序中任何位置都可以访问到.优先级最高,覆盖程序中同名配置. 系统参数的标准格式为:-Dargname=argvalue,多个参数之间用空格隔开,如果参数值中间有空格 ...

  2. 开源实践 | 携程在OceanBase的探索与实践

    写在前面:选型考虑 携程于1999年创立,2016-2018年全面推进应用 MySQL 数据库,前期线上业务.前端技术等以 SQL Server 为主,后期数据库逐步从 SQL Server 转到开源 ...

  3. 初识python:格式化输出

    使用input函数输入用户值,再使用三种方法格式化输出. #!/user/bin env python # author:Simple-Sir # 20180831 # 格式化输出: name = i ...

  4. spring security 动态 修改当前登录用户的 权限

    1.前言 spring security 可以获取当前登录的用户信息,同时提供了接口 来修改权限列表信息 , 使用这个方法 ,可以动态的修改当前登录用户权限. 那么问题来了... 如果我是管理员 ,如 ...

  5. Golang实现集合(set)

    package set package set import ( "bytes" "fmt" "sync" ) type Set struc ...

  6. Win10编辑Host文件授权问题

    今天重温Kafka命令, 使用KafkaTool连接Broker,需要修改主机名,发现host修改时,提示以下错误: C:\Windows\System32\drivers\etc\hosts.txt ...

  7. vue3.0+vite+ts项目搭建-分环境打包(四)

    分环境打包配置 新建.env.dev(或者.env) VITE_NODE_ENV = 'dev' VITE_HOST = 'http://local.host.com' 执行yarn dev ,控制台 ...

  8. Kube-OVN 1.2.0发布,携手社区成员打造高性能容器网络

    Kube-OVN 1.2.0 新版本如期而至,支持 Vlan 和 OVS-DPDK 两种类型的高性能网络接口.本次发布得益于社区的壮大,感谢Intel爱尔兰开发团队与锐捷网络开发团队持续积极参与Kub ...

  9. Solon 开发,二、注入或手动获取Bean

    Solon 开发 一.注入或手动获取配置 二.注入或手动获取Bean 三.构建一个Bean的三种方式 四.Bean 扫描的三种方式 五.切面与环绕拦截 六.提取Bean的函数进行定制开发 七.自定义注 ...

  10. Xbatis:SpringBoot 数据管理框架

    目录 安装 下载源码 编译源码 添加依赖 数据表 数据源 Xbatis XbatisManager Database/Table/Column Column Table Database Create ...