返回列表 發帖
本帖最後由 黃茂勛 於 2018-5-26 11:55 編輯
  1. package bbs.istak.org.tw;

  2. import java.awt.BorderLayout;
  3. import java.awt.EventQueue;

  4. import javax.swing.JFrame;
  5. import javax.swing.JPanel;
  6. import javax.swing.border.EmptyBorder;
  7. import javax.swing.JLabel;
  8. import javax.swing.ImageIcon;

  9. public class haung20180526 extends JFrame {

  10.         private JPanel contentPane;

  11.         /**
  12.          * Launch the application.
  13.          */
  14.         public static void main(String[] args) {
  15.                 EventQueue.invokeLater(new Runnable() {
  16.                         public void run() {
  17.                                 try {
  18.                                         haung20180526 frame = new haung20180526();
  19.                                         frame.setVisible(true);
  20.                                 } catch (Exception e) {
  21.                                         e.printStackTrace();
  22.                                 }
  23.                         }
  24.                 });
  25.         }

  26.         /**
  27.          * Create the frame.
  28.          */
  29.         public haung20180526() {
  30.                 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  31.                 setBounds(100, 100, 704, 381);
  32.                 contentPane = new JPanel();
  33.                 contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
  34.                 setContentPane(contentPane);
  35.                 contentPane.setLayout(null);
  36.                
  37.                 JLabel rabbit = new JLabel("");
  38.                 rabbit.setIcon(new ImageIcon(haung20180526.class.getResource("/bbs/istak/org/tw/r.gif")));
  39.                 rabbit.setBounds(60, 38, 67, 73);
  40.                 contentPane.add(rabbit);
  41.                 int x_r = rabbit.getLocation().x;
  42.                 RunRabbit rb = new RunRabbit(x_r,rabbit);
  43.                 rb.start();
  44.                
  45.                 JLabel turtle = new JLabel("");
  46.                 turtle.setIcon(new ImageIcon(haung20180526.class.getResource("/bbs/istak/org/tw/t.gif")));
  47.                 turtle.setBounds(60, 204, 82, 66);
  48.                 contentPane.add(turtle);
  49.                 int x_t = turtle.getLocation().x;
  50.                 Runturtle rt = new Runturtle(x_t,turtle);
  51.                 rt.start();
  52.         }

  53. }
複製代碼
  1. package bbs.istak.org.tw;

  2. import javax.swing.JLabel;

  3. public class RunRabbit extends Thread{

  4.         int x_r = 0;
  5.         JLabel rabbit = null;
  6.         RunRabbit(int x_r, JLabel rabbit)
  7.         {
  8.                 this.x_r = x_r;
  9.                 this.rabbit = rabbit;
  10.         }
  11.         public void run()
  12.         {
  13.                 while(x_r <= 537)
  14.                 {
  15.                         int r = (int)(Math.random()*10);
  16.                         x_r+=6;
  17.                         if(r==1 || r==5 || r==9)
  18.                                 try {
  19.                                         Thread.sleep(1500);
  20.                                 } catch (InterruptedException e) {}
  21.                         //System.out.println(x_r);
  22.                         try {
  23.                                 Thread.sleep(1000);
  24.                         } catch (InterruptedException e) {}
  25.                         rabbit.setLocation(x_r, 38);
  26.                 }
  27.                
  28.                
  29.         }
  30. }
複製代碼
  1. package bbs.istak.org.tw;

  2. import javax.swing.JLabel;

  3. public class Runturtle extends Thread{

  4.         int x_t = 0;
  5.         JLabel turtle = null;
  6.         Runturtle(int x_t, JLabel turtle)
  7.         {
  8.                 this.x_t = x_t;
  9.                 this.turtle = turtle;
  10.         }
  11.         public void run()
  12.         {
  13.                 while(x_t <= 537)
  14.                 {
  15.                         x_t+=3;       
  16.                     try {
  17.                                 Thread.sleep(1000);
  18.                         } catch (InterruptedException e) {}
  19.                     //System.out.println(x_t);
  20.                     turtle.setLocation(x_t, 204);
  21.                 }
  22.         }
  23. }
複製代碼

TOP

返回列表