gpt4 book ai didi

java - java中的多线程

转载 作者:太空宇宙 更新时间:2023-11-04 08:41:28 24 4
gpt4 key购买 nike

我想在我的小程序中使用 4 个线程,并且使用 Runnable 接口(interface)想要将所有线程移动到所需的位置。

在我的小程序中,云图像从 y 轴的 o 走到 750,当云到达 y 轴的 150 时,直升机开始行走,直升机走到它达到 350,然后该线程停止。然后当我的直升机到达 200 时,就会出现一个人的图像并走到 x 轴,它会在走了 5 到 10 毫秒时停止。

以下是我的代码:

import java.applet.* ;

package com.pack;

import java.applet.*;
import java.awt.*;
import java.awt.event.*;

public class HelicopterScene extends Applet {
Image a, b, c;
int i, j, h, p;

public void init() {
i = 20;
j = 750;
h = 0;
a = getImage(getCodeBase(), "HelicopterAttack.jpg");
b = getImage(getCodeBase(), "pppp.png");
c = getImage(getCodeBase(), "helicopter1.png");
}

public void paint(Graphics g) {
showStatus(" Helicopter Scene Applet is started.....");
g.drawImage(a, 0, 0, this);
if (i <= 750 && j >= 20) {
if (i >= 150) {
g.drawImage(c, h, 255, 150, 35, this);
h++;
repaint();
try {
Thread.sleep(20);
} catch (InterruptedException w) {
}
}

g.drawImage(b, j, 120, 90, 70, this);
g.drawImage(b, i, 180, 120, 70, this);
i++;
j--;
repaint();
try {
Thread.sleep(10);
if (i == 750 && j == 20) {
p = h;
g.drawImage(c, p, 255, 150, 35, this);
h++;
repaint();
try {
Thread.sleep(20);
} catch (InterruptedException w) {
}
i = 20;
j = 750;
}
} catch (InterruptedException e) {
}
}
}
}

最佳答案

首先,您永远不想在 UI 线程上 hibernate 。其次,您永远不想在 UI 线程上进行绘制。您应该研究 SwingUtilities.invokeLater()。

关于java - java中的多线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5212930/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com