220829 오전 수업 (JFrame)

2022. 8. 29. 13:50카테고리 없음

window builder를 Eclipse Marketplace에서 검색 및 설치

이런 코드를 작성하면 하얀 java 창이 뜬다.

JFrame 파일을 생성하면 위와 같은 코드가 기본적으로 작성되어있고 실행시키면 마찬가지로 하얀 창이 뜬다.

 

 

absolute layout 선택하면 자유로운 배치 가능. 

빨간 색 버튼을 눌러서 이벤트를 보거나 생성할 수 있다.

clicked=클릭

entered = 마우스가 올려졌을 때

exited=마우스가 버튼 바깥으로 나갈 때

pressed=마우스를 누르고 있었을 때

released=마우스를 누르고 있다가 떼었을 때 

생성할 이벤트를 더블클릭하고 해당 코드를 작성하면 "Good Morning"이던 텍스트가 버튼을 눌렀을 때 "Good Evening"로 바뀐다.

 

버튼을 클릭할 때마다 100씩 늘어나도록 코드 작성했음

 

버튼 누르면 곱셈이 되도록하는 이벤트 코드

package day04;

import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import javax.swing.JButton;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.ArrayList;
import java.util.Random;

public class MySwing04 extends JFrame {

	private JPanel contentPane;
	JLabel lbl1;
	JLabel lbl2;
	JLabel lbl3;
	JLabel lbl4;
	JLabel lbl5;
	JLabel lbl6;
	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					MySwing04 frame = new MySwing04();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the frame.
	 */
	public MySwing04() {
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 450, 300);
		contentPane = new JPanel();
		
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);
		
		lbl1 = new JLabel("_");
		lbl1.setBounds(27, 48, 57, 15);
		contentPane.add(lbl1);
		
		lbl2 = new JLabel("_");
		lbl2.setBounds(96, 48, 57, 15);
		contentPane.add(lbl2);
		
		lbl3 = new JLabel("_");
		lbl3.setBounds(165, 48, 57, 15);
		contentPane.add(lbl3);
		
		lbl4 = new JLabel("_");
		lbl4.setBounds(234, 48, 57, 15);
		contentPane.add(lbl4);
		
		lbl5 = new JLabel("_");
		lbl5.setBounds(303, 48, 57, 15);
		contentPane.add(lbl5);
		
		lbl6 = new JLabel("_");
		lbl6.setBounds(365, 48, 57, 15);
		contentPane.add(lbl6);
		
		JButton btn = new JButton("로또 번호 생성하기");
		btn.addMouseListener(new MouseAdapter() {
			@Override
			public void mouseClicked(MouseEvent e) {
				getLotto();
			}
		});
		btn.setBounds(126, 118, 165, 23);
		contentPane.add(btn);
	}
	public void getLotto() {
		int[] arr45=
					{1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
					 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
					 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
					 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
					 41, 42, 43, 44, 45};
		
		for(int i=0; i<1000;i++) {
			int rnd = (int)(Math.random()*45);
			int a = arr45[rnd];
			int b = arr45[0];
			arr45[0]=a;
			arr45[rnd]=b;
		}
		lbl1.setText(arr45[0]+"");
		lbl2.setText(arr45[1]+"");
		lbl3.setText(arr45[2]+"");
		lbl4.setText(arr45[3]+"");
		lbl5.setText(arr45[4]+"");
		lbl6.setText(arr45[5]+"");
		
		
		
	}

}

 

로또 번호 띄우는 코드!