프로그래밍 언어/java
java 사각형 스탬프 랜덤 찍기 프로그램
sw개발자
2021. 2. 16. 23:01
import javax.swing.*;// swing패키지 전체를 불러온다.
import java.awt.*;// awt패키지 전체를 불러온다.
public class practice6 extends JFrame {
public static final int JLABEL_NUMBER = 20; // 정수형 상수를 필드에 선언을 하며 20이라는 데이터를 넣었다.
public practice6(){ //practice6이라는 클래스의 생성자이다.
setTitle("Random Labels");// 제목을 Random Labels이라고 지었다.
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container container = getContentPane();
container.setLayout(null);// 배치관리자 없도록했다.
// 그동안 컴포넌트를 주면 주어진 배치관리자가 위치와 크기를 상대적으로 조율하면서 배치를 했다. 근데 이게 반복문을 이용해서 놓는 것이 좋다 생각
JLabel [] jLabels = new JLabel[JLABEL_NUMBER];// JLabel클래스배열을 정의하고 선언했다.
int x, y;// 지역변수 정수형을 선언했다.
for (int i = 0; i < JLABEL_NUMBER; i++)// 반복문 for문이다. JLABEL_NUMBER = 20이므로 20번 반복!
{
jLabels[i] = new JLabel(Integer.toString(i));//JLabel배열 원소 순서대로 접근
x = (int)(Math.random()*200) + 50;// 반복할때마다 새로 난수 데이터를 저장
y = (int)(Math.random()*200) + 50;// 반복할때마다 새로 난수 데이터를 저장
jLabels[i].setLocation(x,y);// 난수에 설정된 정수로 위치좌표를 설정한다.
jLabels[i].setSize(10,10);// 크기를 10x10으로 설정
jLabels[i].setBackground(Color.BLUE);// 색을 파란색으로 설정
jLabels[i].setOpaque(true);
container.add(jLabels[i]);// 컨테이너 즉 여기서는 콘텐츠팬에 부착
}
setSize(300,300);// 콘텐츠 팬은 300x300사이즈로 설정
setVisible(true);// 화면에 보이도록 설정!
}
public static void main(String[] args) {
new practice6();
}