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

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

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

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 统计http连接数

    统计http连接数

    2022年3月11日
  • Welcome to Xiao

    Welcome to Xiao这里写自定义目录标题WelcometoXiao新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML图表FLowchart流程图导出与导入导出导入WelcometoXiao你好!这是你第一次使用Markdown编辑器所展示的欢迎页。如果你想学习如何使用Mar

    2022年10月7日
  • 基于Vue的电商后台管理系统(2)

    基于Vue的电商后台管理系统(2)电商后台管理系统2前言上期已经实现该系统的登陆界面、路由、登录、退出及导航守卫功能,本期将继续完善该系统的以下功能:从后端获取后台列表数据并渲染到前端页面、用户列表的展示、修改、删除和添加。后台页面布局本系统后台将采用ElementUI中的Container布局容器。基本结构如下:代码框架:<el-container><el-header>Header</el-header><el-container><el-a

    2022年6月11日
  • OSTaskCreate创建失败原因之一

    OSTaskCreate创建失败原因之一在μcos中调用这个任务创建函数发现失败,debug进去,发现在err=OS_TCBInit(prio,psp,(OS_STK*)0,0u,0u,(void*)0,0u);后err=OS_ERR_TASK_NO_MORE_TCB这是因为在创建任务之初没有调用OSInit();…

    2022年9月3日
  • java大数据开发需要掌握什么_大数据要学java吗

    java大数据开发需要掌握什么_大数据要学java吗​​​​​​你想过自己的未来规划吗?java大数据程序员只需要学到技术就行吗?1.如何成为大数据工程师Java开发是IT行业的经典岗位,行业当中存在普遍的需求,Web开发、Android开发、游戏开发等基本上Java语言是主力队伍。而进入大数据时代,Java又在大数据方向上有了用武之地,又该如何进行成长路线规划。在Java程序界流行着一种默认的说法叫黄金5年,也就是一个程序员从入职的时候开始算起,前五年的选择直接影响着整个职业生涯中的职业发展方向和薪资走向。2014年8月,阿里巴巴举办了

    2022年10月19日
  • Spring常用的三种注入方式「建议收藏」

    Spring常用的三种注入方式「建议收藏」Spring通过DI(依赖注入)实现IOC(控制反转),常用的注入方式主要有三种:构造方法注入,setter注入,基于注解的注入。构造方法注入先简单看一下测试项目的结构,用maven构建的,四个包:entity:存储实体,里面只有一个User类dao:数据访问,一个接口,两个实现类service:服务层,一个接口,一个实现类,实现类依赖于IUserDaotest:测试包在spring的配置文

    2022年10月22日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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