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)
blank

相关推荐

  • 华为云计算hcip认证用处大吗_华为云计算数据中心

    华为云计算hcip认证用处大吗_华为云计算数据中心华为云计算HCNA–FusionCompute

  • 网络舆情分析系统具体使用功能及作用详解图_智慧舆情

    网络舆情分析系统具体使用功能及作用详解图_智慧舆情网络舆情即互联网环境下舆论情况的简称,具有直接性、突发性、偏差性等特点。由于国内对于网络舆情研究工作起步较晚,与国外的研究工作相比有一定的差距。当前网络舆情分析还有很多部门主要依靠人工的方法进行收集、处理。由于网络舆情是表达民意的重要场地,其信息量十分巨大,仅仅依靠人工的方法难以应对。需要有个自动化的网络舆情分析系统,及时应对网络舆情。网络舆情分析系统需要具备有以下几大功能:1、及时发现关注相关舆情实时分析全网数据,监测各大网络平台,根据关键词的设置,早发现与之相关的舆情。2、观点倾向性分析对不

  • 大数据治理平台建设规划方案

    大数据治理平台建设规划方案推荐阅读:世界的真实格局分析,地球人类社会底层运行原理不是你需要中台,而是一名合格的架构师(附各大厂中台建设PPT)企业IT技术架构规划方案论数字化转型——转什么,如何转?华为干部与人才发…

  • 获取activexobject对象失败_在各种管理对象中最重要的是

    获取activexobject对象失败_在各种管理对象中最重要的是JavaScript中ActiveXObject对象是启用并返回Automation对象的引用

    2022年10月14日
  • java字符串的拆分_Java中的字符串分割 .

    java字符串的拆分_Java中的字符串分割 .java中的split函数和js中的split函数不一样。Java中的我们可以利用split把字符串按照指定的分割符进行分割,然后返回字符串数组,下面是string.split的用法实例及注意事项:java.lang.string.splitsplit方法将一个字符串分割为子字符串,然后将结果作为字符串数组返回。stringObj.split([separator,[limit]])免费资源收…

  • @MapperScan 源码解析

    @MapperScan 源码解析aa

发表回复

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

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