该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

}

}

public class PongApplet extends JApplet implements KeyListener

{

private Ball ball;

private Paddle pad;

public void init()

{

setBackground(Color.white);

addKeyListener(this);

ball=new Ball(this);

pad=new Paddle(this);

ball.start();

requestFocus();

}

public void paint(Graphics g)

{

g.setColor(getBackground());

g.fillRect(0,0,getWidth(),getHeight());

g.setColor(Color.blue);

g.fillOval(ball.getX(),ball.getY(),ball.SIZE,ball.SIZE);

pad.resetLocation();

g.setColor(Color.red);

g.fillRect(pad.getX(),pad.getY(),Paddle.WIDTH,Paddle.HEIGHT);

}

public boolean ballHitsPaddle()

{

return ball.getX()+Ball.SIZE>=pad.getX()&&ball.getY()>=pad.getY()&&ball.getY()<=pad.getY()+Paddle.HEIGHT;

}

public void keyPressed(KeyEvent e)

{

int keyCode=e.getKeyCode();

if(keyCode==KeyEvent.VK_UP)

pad.moveUp();

else if(keyCode==KeyEvent.VK_DOWN)

pad.moveDown();

}

public void keyTyped(KeyEvent e) {}

public void keyReleased(KeyEvent e) {}

}

这个是我写的一个Pong游戏,就是一个小球在一个矩形框里滚动,左面有一个挡板,键盘上下键控制挡板的上下移动,Ball类是一个多线程,可是当运行的时候,无论怎么按键盘上下键的时候,挡板都没有移动,有时候当把屏幕变大在变小后可能会在按下上下键的时候挡板移动,可是并不总是成功,当成功的时候关闭窗口的时候会出现下面的异常:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException: component

argument pData

at sun.awt.windows.Win32SurfaceData.initOps(Native Method)

at sun.awt.windows.Win32SurfaceData.(Win32SurfaceData.java:448)

at sun.awt.windows.Win32SurfaceData.createData(Win32SurfaceData.java:316

)

at sun.awt.Win32GraphicsConfig.createSurfaceData(Win32GraphicsConfig.jav

a:357)

at sun.awt.windows.WComponentPeer.replaceSurfaceData(WComponentPeer.java

:332)

at sun.awt.windows.WComponentPeer.replaceSurfaceData(WComponentPeer.java

:313)

at sun.awt.windows.WComponentPeer$2.run(WComponentPeer.java:353)

at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)

at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)

at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchTh

read.java:242)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre

ad.java:163)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)

at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)

请高手们解释一下这是为什么?还有怎么解决这个问题?多谢了

java小球挡板游戏_多线程的一个小球游戏,就是以前的那个Pong游戏相关推荐

  1. java runnable线程锁_多线程 java 同步 、锁 、 synchronized 、 Thread 、 Runnable

    线程 1 线程概述 1.1 什么是线程 v  线程是程序执行的一条路径, 一个进程中可以包含多条线程 v  一个应用程序可以理解成就是一个进程 v  多线程并发执行可以提高程序的效率, 可以同时完成多 ...

  2. Java FX8_第一篇_编写第一个Java FX Application

    所有的Java FX程序必须继承自Application类且必须覆写start( )方法,而start ( )方法的参数是一个stage(继承Application类且使用Stage类必须导入java ...

  3. python小球方案问题_十二个小球称重问题及其Python实现

    一.问题描述 在12个外观完全相同的小球中,有一个与其它球重量不同.如何只用一架天平找到这个球并判断它比其它球轻还是重?最少需要称几次?39个球呢? 二.问题分析 这是一个很经典的信息论问题,最开始的 ...

  4. java timer 线程安全_多线程之 线程安全与控制

    线程控制 wait和notify方法需要注意的细节:wait方法与notify方法必须要由同一个锁对象调用.因为:对应的锁对象可以通过notify唤醒使用同一个锁对 象调用的wait方法后的线程. w ...

  5. java中解决脏读_多线程出现脏读以及解决方法(使用synchronized)

    使用多线程出现脏读,得到的结果不是设计时想要的怎么办呢? 直接看示例: 出现脏读的程序 DealThread.java public class DealThread implements Runna ...

  6. python输入数字是什么类型的游戏_“数字炸弹”——一个练习Python基础知识的小游戏...

    数字"炸弹" 数字炸弹小游戏,平时可以多个人一块玩.游戏规则也很简单:从0~100之间选一个数字,作为"炸弹".每人轮流猜,数字的范围不断缩小,直到有人&quo ...

  7. java 进程 线程数量_如何查询一个进程下面的线程数(进程和线程区别)

    在平时工作中,经常会听到应用程序的进程和线程的概念,那么它们两个之间究竟有什么关系或不同呢? 一.对比进程和线程 1)两者概念 -  进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程 ...

  8. java线程条件变量_多线程同步条件变量(转载)

    最近看<UNIX环境高级编程>多线程同步,看到他举例说条件变量pthread_cond_t怎么用,愣是没有看懂,只好在网上找了份代码,跑了跑,才弄明白 #include #include ...

  9. java线程锁机制_多线程之锁机制

    前言 在Java并发编程实战,会经常遇到多个线程访问同一个资源的情况,这个时候就需要维护数据的一致性,否则会出现各种数据错误,其中一种同步方式就是利用Synchronized关键字执行锁机制,锁机制是 ...

  10. java写便签_如何编写一个便签程序(用Java语言编写)

    如何编写一个便签程序(用Java语言编写) 热度:336   发布时间:2011-02-18 11:44:16 如何编写一个便签程序(用Java语言编写) 因为以前没有好好学习Java,都搞忘了,请大 ...

最新文章

  1. 查看Linux 下某个程序的内存情况
  2. 2021牛客多校3 - 24dian(dfs)
  3. 在一个类型的继承体系中,成员的构造顺序
  4. IBM在欧洲启动“智能云”研发计划
  5. akka es/cqrs_在Akka中实现主从/网格计算模式
  6. 用于单片机的几种C语言算法
  7. oracle 添加服务命名空间,c# – 找不到类型或命名空间名称“OracleConnection”
  8. UC伯克利造出会「轻功」的机器人,飞檐走壁,一条腿跳遍天下|湾区人工智能...
  9. 后端服务接口都在测试什么?怎么测?
  10. windowfullscreen后键盘布局顶上去_手机输入法的派别之争,九宫格和全键盘究竟哪种更科学?...
  11. inflate使用方法总结
  12. 下载好看的壁纸,这几个网站就够了
  13. 计算机学渣和你说说从毕业到工作
  14. 谈谈红楼梦(第1-5回)
  15. DC学习(时序分析和命令)
  16. 函数的重载与重载解析
  17. InfiniBand RDMA
  18. Kitti中GPS/IMU数据格式
  19. 情绪调节的自适应_自我调节情绪的八种好办法
  20. 汽车零部件企业工厂数字化改造5大核心价值

热门文章

  1. 拼图游戏怎样切换代码html,HTML5技术之图像处理:一个滑动的拼图游戏-H5教程
  2. 练习 用C语言编写一个程序,解释高等数学中的映射、单射和一一映射,并表示为函数。
  3. 在VS中如何设置自动换行
  4. 详解 Flutter engine多线程、Dart isolate和异步
  5. 类神经网络训练不起来怎么办——机器学习模型训练指南
  6. Android常用的开源库收集(持续更新中)
  7. Thinkphp 5.0 仿百度糯米开发多商家电商平台
  8. linux权限后面的点,linux 文件权限后面一个点的含义
  9. 实战分析SpringBoot整合JSON,面试题附答案
  10. 【论文阅读】Extract Free Dense Labels from CLIP