入门-Java学习日记(2)
2020-07-12 16:57
35 查看
今天跟着教程打了一个桌球的代码,主要用到swing类和awt类创建窗口并放入图片,对小球进行参数控制使其静止,水平运动或者按一定角度运动,中间使用while循环来实现小球的移动,用if条件语句判断小球触碰边界反弹。
swing类:swing是一个用于开发Java应用程序用户界面的开发工具包。
awt类:java.awt是一个软件包,包含用于创建用户界面和绘制图形图像的所有分类。
代码如下:
[code]import javax.swing.JFrame; import java.awt.*; public class ballgame2 extends JFrame{ //加载图片 Image ball=Toolkit.getDefaultToolkit().getImage("image/ball.png"); Image desk=Toolkit.getDefaultToolkit().getImage("image/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); y=y+10*Math.sin(degree); if (y>500-40-30||y<40+40) { degree=-degree; } //碰到左右 if (x<40||x>856-40-30){ degree=3.14-degree; } } //窗口加载 void launchFrame() { setSize(856,500); setLocation(50,50); setVisible(true); //重画窗口 while(true) { repaint(); try { Thread.sleep(40);//40ms,大约一秒画25次窗口,1s=1000ms } catch (Exception e) { e.printStackTrace(); } } } public static void main(String[] args) { System.out.println("hh "); ballgame2 game=new ballgame2(); game.launchFrame(); } }
运行结果(小球60度移动,触碰边界后反弹,一直循环):
相关文章推荐
- 黑马程序员——学习日记1(java入门准备)
- 黑马程序员—Java程序入门学习日记-基础篇1
- 黑马程序员——学习日记2(java入门基础知识点)
- Java学习从入门到精通
- java入门学习指导之最佳方向
- Java学习从入门到精通(八/八)面向对象、java.util 问答篇
- [转载]Java学习从入门到精通
- [Java学习.载] Java学习从入门到精通.过程篇
- Java学习从入门到精通
- Java学习从入门到精通
- 路在何方:JAVA入门学习指导方向
- 真正的Java学习从入门到精通
- Java学习从入门到精通
- Java学习从入门到精通
- Java学习从入门到精通(五/八)学习资源篇
- Java学习从入门到精通 ------好文章!
- Java学习从入门到精通-过程篇
- JAVA学习日记--经验贴
- Java学习从入门到精通[转]
- Java学习从入门到精通