跟着视频敲得 ,虽然不是自己的思路 ,不过对代码多了一点了解:涉及到继承类

主函数:创建一个BallGame对象,调用一个launchFrame函数 ;

launchFrame函数:严格来说是方法 ,设定好一个窗口的信息,在窗口内开始画动画,只不过每次需要控制小球的位置(注意延时)

paint函数:导入素材,改变小球位置

首先需要在当前项目下new 一个Folder文件夹 ,将素材直接复制进去,然后在src文件夹下new一个class文件

桌球:

桌面:

package pro02;
import java.awt.*;
import javax.swing.*;
//导入两个包 后面要用他们的类 //继承swing的窗口类
public class BallGame extends JFrame{
//两个对象代表两个图片
Image ball=Toolkit.getDefaultToolkit().getImage("images/ball.png");
Image desk=Toolkit.getDefaultToolkit().getImage("images/desk.jpg");
double x=100;
double y=100;
double degree=3.14/3;//60度 弧度
//为了图片出现在窗口上,加一个方法
public void paint(Graphics g){
System.out.println("窗口被画了一次!");
//先画桌面再画球
g.drawImage(desk, 0, 0, null);
g.drawImage(ball,(int)x,(int)y,null);
//可能出现懒加载情况
x=x+10*Math.cos(degree);//1/2
y=y+10*Math.sin(degree);//sqrt(3)/2 if(y>=500-40-30||y<=40) {
degree=-degree;
}
if(x>=856-40-30||x<=40) {
degree=3.14-degree;
}
} //窗口加载
void launchFrame(){
setSize(856,500);//窗口大小
setLocation(50,50);//窗口左上角位置
setVisible(true); //看得见的
/*在窗口内重复画*/
while(true) {
repaint();
//意外处理机制
try {
Thread.sleep(40);
}catch(Exception e) {//例外
e.printStackTrace();
}
}
} //main方法是程序执行的入口
public static void main(String[] args) {
//创建一个对象game
BallGame game=new BallGame();
game.launchFrame();
//System.out.println("你好 !java");
}
}

最新文章

  1. Android入门(一):Android发展史
  2. 用CocoaPods做iOS程序的依赖管理
  3. 【转载】10分钟学会理解和解决MySQL乱码问题
  4. fastreport for .net 数据邦定
  5. 【转】Web标准中的常见问题
  6. centos6.5下磁盘分区及挂载
  7. 提高你的Java代码质量吧:如果有必要,使用变长数组吧
  8. #Leet Code# Same Tree
  9. C++重载解析
  10. Vim经常使用技巧总结1
  11. 浅谈vertical-align
  12. linux--每日一个命令
  13. 【转】14个最佳的HTML/CSS设计和开发框架
  14. linux常用20命令 --转载
  15. MySQL官网示例数据库emploees分析使用
  16. mysql 开发基础系列21 事务控制和锁定语句(下)
  17. Composer 安装以及使用方法
  18. linux2.6.30.4内核移植(4)&mdash;&mdash;完善串口驱动
  19. cocos2d - CCSprite各种动画
  20. 网易云基于 Kubernetes 的深度定制化实践

热门文章

  1. 自定义Toast的出现样式
  2. 用mpvue写个玩意儿玩玩
  3. startUML5.0中的tools下怎么没有java、c等选项
  4. 趣谈编程史第3期-大器晚成的新晋流量Python发展史
  5. 数据库--Redis
  6. 9-4 Vue 缓存和子传副(组件)方法绑定
  7. python3.4.3 调用http接口 解析response xml后插入数据库
  8. Unity 随机数与随机种子
  9. jmeter 性能测试基本过程及示例
  10. HTML每日学习笔记(2)