프로그래밍/Java

[자바/java] Thread 활용 두 개 이미지 이동 컨트롤 - 2 / join()

Rolen 2023. 2. 5. 22:00

이어달리기

package q7;
import javax.swing.*;
import java.io.*;

public class Q7 extends JFrame{
	class MyThread extends Thread {
		JLabel label;
		int x, y, end;
		MyThread(String name, int xn, int yn) {
			x = xn; y = yn;
			end = x+500;
			label = new JLabel();
			label.setIcon(new ImageIcon(name));
			label.setBounds(x, y, 100, 100);
			add(label);
		}
		public void run() {
			while (x+100 < end) {
				x += 10;
				label.setBounds(x, y, 100, 100);
				repaint();
				try {
					Thread.sleep(100);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		}
	}
	Q7() {
		setTitle("Running");
		setSize(1000, 200);
		setLayout(null);
		
		MyThread t1 = new MyThread("--파일경로--", 0, 30);
		MyThread t2 = new MyThread("--파일경로--", 500, 30);
		setVisible(true);
		
		t1.start();
		try {
			t1.join();
		} catch (Exception e) {
			e.printStackTrace();
		}
		t2.start();
		

		setDefaultCloseOperation(EXIT_ON_CLOSE);
	}
	public static void main(String[] args) {
		Q7 f = new Q7();
	}

}
728x90