Java多线程-两个小球
import java.applet.*; import java.awt.*; import javax.swing.*; public class MyBall { public static void main(String[] args) { JFrame w = new JFrame(); w.setSize(300, 400); MyPanel mp = new MyPanel(); w.add(mp); Thread b1 = new Thread(mp, "b1"); Thread b2 = new Thread(mp, "b2"); b1.start(); b2.start(); w.show(); } } class MyPanel extends JPanel implements Runnable { int gx = 40, gy = 30, tx = 60, ty = 30; String str1 = "b1", str2 = "b2"; public void run() { boolean stop = false; while (!stop) { String s = Thread.currentThread().getName().toString(); if (s.equals(str1)) { gy++; try { Thread.sleep(60); } catch (Exception e) { } if (gy >= 200) stop = true; } else { ty++; try { Thread.sleep(30); } catch (Exception e) { } if (ty >= 200) stop = true; } repaint(); } } public void paint(Graphics g) { super.paint(g); g.fillOval(gx, gy, 20, 20); g.fillOval(tx, ty, 20, 20); } }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步