- package bbs.istak.org.tw;
- import java.awt.BorderLayout;
- import java.awt.EventQueue;
- import java.util.Random;
- import javax.swing.JFrame;
- import javax.swing.JPanel;
- import javax.swing.border.EmptyBorder;
- import javax.swing.JLabel;
- import javax.swing.ImageIcon;
- import javax.swing.JTextField;
- public class RTR extends JFrame {
- private JPanel contentPane;
- /**
- * Launch the application.
- */
- public static void main(String[] args) {
- EventQueue.invokeLater(new Runnable() {
- public void run() {
- try {
- RTR frame = new RTR();
- frame.setVisible(true);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- });
- }
- /**
- * Create the frame.
- */
- public RTR() {
- setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- setBounds(100, 100, 450, 252);
- contentPane = new JPanel();
- contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
- setContentPane(contentPane);
- contentPane.setLayout(null);
-
- JLabel flag = new JLabel("");
- flag.setIcon(new ImageIcon(RTR.class.getResource("/bbs/istak/org/tw/flag (2).png")));
- flag.setBounds(374, 180, 24, 24);
- contentPane.add(flag);
-
- JLabel rabbit = new JLabel("New label");
- rabbit.setIcon(new ImageIcon(RTR.class.getResource("/bbs/istak/org/tw/r.gif")));
- rabbit.setBounds(10, 10, 58, 55);
- contentPane.add(rabbit);
-
- Random sleep = new Random();
-
-
-
-
- JLabel turtle = new JLabel("New label");
- turtle.setIcon(new ImageIcon(RTR.class.getResource("/bbs/istak/org/tw/t.gif")));
- turtle.setBounds(10, 88, 82, 46);
- contentPane.add(turtle);
-
- JLabel result = new JLabel("going on");
- result.setBounds(10, 180, 112, 24);
- contentPane.add(result);
-
- Thread tr = new Thread(){
-
- public void run(){
-
- for(int i = rabbit.getLocation().x ; i <= flag.getLocation().x+flag.getWidth() ; i+=20){
-
- rabbit.setLocation(i, 10);
-
- try {
- Thread.sleep((sleep.nextInt(5)+1)*1000);
- } catch (InterruptedException e) {
- // TODO 自動產生的 catch 區塊
- e.printStackTrace();
- }
- if(rabbit.getLocation().x == flag.getLocation().x+flag.getWidth()){
- result.setText("rabbit win");
- break;
- }
-
- }
-
- }
-
- };
-
- Thread tt = new Thread(){
-
- public void run(){
-
- for(int i = turtle.getLocation().x ; i <= flag.getLocation().x+flag.getWidth() ; i+=3){
- turtle.setLocation(i, 88);
-
-
- try {
- Thread.sleep(500);
- } catch (InterruptedException e) {
- // TODO 自動產生的 catch 區塊
- e.printStackTrace();
- }
- if(turtle.getLocation().x == flag.getLocation().x+flag.getWidth()){
- result.setText("turtle win");
- break;
- }
- }
- }
-
- };
- tr.start();
- tt.start();
-
- }
- }
複製代碼 |