完成效果:

 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高级程序设计笔记 • 【第4章 网络编程】

    全部章节   >>>> 本章目录 4.1 网络基础知识 4.1.1 IP地址 4.1.2 端口号 4.1.3 使用InetAddress 4.1.4 InetAddress 类 ...

  2. Windows10中同时安装MySQL5和MySQL8

    Windows10中同时安装MySQL5和MySQL8 同时安装的话,在执行mysql install要注意加名字,比如:mysqld --install MYSQL5 MySQL-5.5.54 ZI ...

  3. 初识python:斐波拉契数(列表获取)

    使用 列表 获取斐波拉契数,代码如下: n = int(input('您想获取前几个斐波拉契数?\n')) li = [] for i in range(n): if i <= 1: li.ap ...

  4. 责任链模式(python)

    rom abc import ABCMeta, abstractmethod class Handler(metaclass=ABCMeta): @abstractmethod def handle_ ...

  5. Centos安装与配置

    一.安装 默认安装 二.配置 配置网卡 BOOTPROTO=none ONBOOT=yes IPADDR=xxx.xxx.x.xx PREFIX=24 GATEWAY=xxx.xxx.x.x DNS1 ...

  6. vue2.0中实现echarts图片下载-----书写中

    由于各个版本浏览器兼容性不一,所以,我们需要一个判断浏览器类型的函数来对不同的浏览器做不同的处理. 获取浏览器版本的函数 // 判断浏览器类型 IEVersion () { let userAgent ...

  7. Ubuntu 桌面版使用总结

    最近拿出了大学时买的性(游)能(戏)本(机),其实从直观来看,硬件基础还是不错的,但是跑 WIN10, 清了各种广告,关了各种无效进城之后,用起来仍然还是很不爽.可能是已经用惯 mac 了吧,mac给 ...

  8. k8s中kubeconfig的配置及使用

    1.概述 kubeconfig文件保存了k8s集群的集群.用户.命名空间.认证的信息.kubectl命令使用kubeconfig文件来获取集群的信息,然后和API server进行通讯. 注意:用于配 ...

  9. Three.js之绘制物体的边框及修改lineWidth

    本博文主要记录如何使用three.js绘制物体的边框及修改其lineWidth.three.js是个技术点比较多,查询资料又比较少的框架,单单就这个修改lineWidth就是一个坑.先放一个动态的效果 ...

  10. 五天学完MySQL打卡挑战 day01

    明天继续上传学习笔记和练习的Word文档 晚安~