JAVA swing_java action

JAVA swing_java action1.整体的结构图:2.编写GameFrame03.java的代码:packagecn.bjsxt.test;importjava.awt.Frame;importjava.awt.Graphics;importjava.awt.Image;importjava.awt.event.WindowAdapter;importjava.awt.event.WindowEvent;publi…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

1.整体的结构图:

0818b9ca8b590ca3270a3433284dd417.png

2.编写GameFrame03.java的代码:

package cn.bjsxt.test;

import java.awt.Frame;

import java.awt.Graphics;

import java.awt.Image;

import java.awt.event.WindowAdapter;

import java.awt.event.WindowEvent;

public class GameFrame03 extends Frame {

Image image = GameUtil.getImage(“images/sun.jpg”);

public void launchFrame() {

setSize(500, 500);

setLocation(100, 100);

setVisible(true);

new PaintThread().start();

addWindowListener(new WindowAdapter() {

// 单击右键选择“source”中的“override/implement

// methods”,frame里面勾选“windowClosed”点击“OK”

@Override

public void windowClosing(WindowEvent e) {

System.exit(0);

}

});

}

private double x = 100, y = 100;

private double degree = 3.14 / 3;

private double speed = 13;

// 单击右键选择“source”中的“override/implement

// methods”,window里面勾选“paint(graphic)”点击“OK”

@Override

public void paint(Graphics g) {

g.drawImage(image, (int) x, (int) y, null);

if (speed > 0) {

speed -= 0.1;

} else {

speed = 0;

}

x += speed * Math.cos(degree);

y += speed * Math.sin(degree);

if (y > 500 – 130 || y < 30) {

degree = -degree;

}

if (x < 0 || x > 500 – 130) {

degree = Math.PI – degree;

}

}

class PaintThread extends Thread {

public void run() {

while (true) {

repaint();

try {

Thread.sleep(40);

} catch (InterruptedException e) {

e.printStackTrace();

}

}

}

}

public static void main(String[] args) {

GameFrame03 gf = new GameFrame03();

gf.launchFrame();

}

}

3.编写GameUtil.java的代码:

package cn.bjsxt.test;

import java.awt.Image;

import java.awt.image.BufferedImage;

import java.io.IOException;

import java.net.URL;

import javax.imageio.ImageIO;

public class GameUtil {

private GameUtil() {

}

public static Image getImage(String path) {

URL u = GameUtil.class.getClassLoader().getResource(path);

BufferedImage image = null;

try {

image = ImageIO.read(u);

} catch (IOException e) {

e.printStackTrace();

}

return image;

}

}

4.运行之后的结果:

0818b9ca8b590ca3270a3433284dd417.png

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/226897.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • java 除法向上,向下取整

    java 除法向上,向下取整向上取整用:Math.ceil(doublea)向下取整用:Math.floor(doublea)inta=7;intb=5;BigDecimalaBig=newBigDecimal(a);BigDecimalbBig=newBigDecimal(b);//向上取整intnum1=(int)Math.ceil(aBig.divide(bBig).doub.

  • c++stl基础及应用_stl详解

    c++stl基础及应用_stl详解一、c++STL常用内容总结文章目录一、c++STL常用内容总结1.vector(数组)1.1介绍1.2方法函数1.3注意点1.3.a排序1.3.b访问2.stack(栈)2.1介绍2.2方法函数2.3注意点2.3.a.栈遍历2.3.b.模拟栈3.queue(队列)3.1介绍3.2方法函数4.deque(双端队列)4.1介绍4.2方法函数4.3注意点5.priority_queue(优先队列)5.1介绍5.2函数方法5.3设置优先级5.3.a基本数据类型的优先级5

    2022年10月15日
  • PS磨皮滤镜插件:Portraiture 3 for Mac激活成功教程版永久激活方法

    PS磨皮滤镜插件:Portraiture 3 for Mac激活成功教程版永久激活方法为大家推荐Mac上最好用的一款PS磨皮滤镜Portraiture。PortraiturMac主要用于人像图片润色,它可以在保持皮肤的色泽的情况下对图像中的皮肤、头发、眉毛、睫毛等部位进行平滑的疵点处理,功能强大。现为大家带来磨皮滤镜portraituremac激活成功教程版,软件内附激活成功教程补丁,可以助您成功激活成功教程激活portraiture磨皮滤镜。磨皮插件portraiture怎么安装port…

  • 数据库端口号怎么修改_sqlserver查看sa密码

    数据库端口号怎么修改_sqlserver查看sa密码sqlserver端口如果出现问题,会直接影响sqlserver的登录,下面就教您sqlserver端口的更改方法,供您参考,让您不再为sqlserver端口问题而头疼。今天遇到一个问题,sqlserver无法登陆,到Services里看,服务没有起来。但是在启动Service时遇到问题说无法启动。去AdministrativeTools->EventViewer中查看了一下,…

  • Android + Appium 自动化测试完整的环境配置及代码详解

    Android + Appium 自动化测试完整的环境配置及代码详解环境的的搭建参考大神博客:https://www.cnblogs.com/fnng/p/4540731.html该博客有一套详细的入门教程,奈何时间有点久远有些东西不能用了,但是参考价值还是有滴。1.安装各种SDKjre必须1.8以上AndroidSDK需要8.0以下的测试,8.0我测试还不行,环境变量如下图所示…

  • CDN技术详解及实现原理「建议收藏」

    CDN技术详解及实现原理「建议收藏」CDN技术详解一本好的入门书是带你进入陌生领域的明灯,《CDN技术详解》绝对是带你进入CDN行业的那盏最亮的明灯。因此,虽然只是纯粹的重点抄录,我也要把《CDN技术详解》的精华放上网。公诸同好。第

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号