이미지가 스레드가 되어 랜덤한 위치에 이동하는 프로그램 질문입니다..(자바)

조회수 1122회

위쪽 패널에 4개의 JLabel로 각 이미지를 출력하고 그 네 장의 이미지들을 임의의 순서대로 클릭하면, 이미지들이 각각 스레드가 되어 아래쪽 패널 내에서 500ms초 간격으로 랜덤한 위치에 이동하는 프로그램을 작성하고 싶어요....

지금까지 작성한 코드는 밑에 첨부합니다.. 위쪽 패널과 아래쪽 패널을 만들고 위쪽 패널에 4개의 JLabel로 각 이미지를 출력하는거까지 했습니다... 나머지 조건들은 어떻게 해야 해결할 수 있을까요.. 도와주세요...

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

import javax.swing.event.*;

import java.lang.Math;

public class Rrrrr3 extends JFrame {

JLabel[] c=new JLabel[4];
ImageIcon[] r=new ImageIcon[4];
JLabel myimg=new JLabel();
public Rrrrr3() {
    setTitle("랜덤위치로 이동");
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    this.setLocationRelativeTo(getOwner());
    this.setContentPane(new CenterPanel());
    Container c=getContentPane();
    c.setLayout(new BorderLayout());
    c.setBackground(Color.YELLOW);

    r[0]=new ImageIcon("C:\\Temp\\heart.png");
    r[1]=new ImageIcon("C:\\Temp\\sprout.png");
    r[2]=new ImageIcon("C:\\Temp\\cloud.png");
    r[3]=new ImageIcon("C:\\Temp\\ㅇㅅㅇ.jpg");

    c.add(new NorthPanel(), BorderLayout.NORTH);
    c.add(new CenterPanel(), BorderLayout.CENTER);

    setSize(700,700);
    setVisible(true);
}
class NorthPanel extends JPanel {
    public NorthPanel() {
        setBackground(Color.YELLOW);
        setLayout(new FlowLayout());

        for(int i=0;i<4;i++) {
            c[i]=new JLabel(r[i]);
            add(c[i]);

        }
    }
}

class CenterPanel extends JPanel {
    public CenterPanel() {
        setBackground(Color.GRAY);
        setLayout(new FlowLayout());
        add(myimg);
    }

}

public static void main(String [] arges) {
    new Rrrrr3();
}

}

  • (•́ ✖ •̀)
    알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)