package lotto;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.util.*;

public class Lotto extends JFrame{
        
        private JPanel contentPane;
        private JLabel lblNum1 = new JLabel();
        private JLabel lblNum2 = new JLabel();
        private JLabel lblNum3 = new JLabel();
        private JLabel lblNum4 = new JLabel();
        private JLabel lblNum5 = new JLabel();
        private JLabel lblNum6 = new JLabel();
        private Random random = new Random();
        private int[] num = new int[7];
        JLabel lblCount = null;
        JLabel lblResult1 = null;
        JLabel lblResult2 = null;
        boolean flagLoop = true;
        public static void main(String[] args){
                EventQueue.invokeLater(new Runnable() {
                        public void run() {
                                try{
                                        Lotto frame = new Lotto();
                                        frame.setTitle("로또 자동번호 생성기");
                                        frame.setVisible(true);
                                }catch (Exception e) {
                                        e.printStackTrace();
                                }
                                
                        }
                });
        }
        public Lotto() {
                
                setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                setBounds(300,200,680,500);
                setBackground(Color.white);
                
                contentPane = new JPanel();
                contentPane.setOpaque(false);
                setContentPane(contentPane);
                contentPane.setLayout(null);
                
                lblCount = new JLabel("__");
                lblCount.setHorizontalAlignment(SwingConstants.CENTER);
                lblCount.setFont(new Font("Arial",Font.BOLD,60));
                lblCount.setBounds(290,60,83,83);
                
                contentPane.add(lblCount);
                lblResult1 = new JLabel("");
                lblResult1.setHorizontalAlignment(SwingConstants.CENTER);
                lblResult1.setFont(new Font("Arial",Font.BOLD,15)); //글자 모양
                lblResult1.setBounds(170,440,310,17);
                contentPane.add(lblResult1);
{
                        
                
                lblNum1 = new JLabel();
                lblNum2 = new JLabel();
                lblNum3 = new JLabel();
                lblNum4 = new JLabel();
                lblNum5 = new JLabel();
                lblNum6 = new JLabel();
                
                lblNum1.setHorizontalAlignment(SwingConstants.CENTER);
                lblNum2.setHorizontalAlignment(SwingConstants.CENTER);
                lblNum3.setHorizontalAlignment(SwingConstants.CENTER);
                lblNum4.setHorizontalAlignment(SwingConstants.CENTER);
                lblNum5.setHorizontalAlignment(SwingConstants.CENTER);
                lblNum6.setHorizontalAlignment(SwingConstants.CENTER);
                
                lblNum1.setFont(new Font("Arial", Font.BOLD,30));
                lblNum2.setFont(new Font("Arial", Font.BOLD,30));
                lblNum3.setFont(new Font("Arial", Font.BOLD,30));
                lblNum4.setFont(new Font("Arial", Font.BOLD,30));
                lblNum5.setFont(new Font("Arial", Font.BOLD,30));
                lblNum6.setFont(new Font("Arial", Font.BOLD,30));
                
                lblNum1.setBorder(null);
                lblNum2.setBorder(null);
                lblNum3.setBorder(null);
                lblNum4.setBorder(null);
                lblNum5.setBorder(null);
                lblNum6.setBorder(null);
                
                lblNum1.setBounds(100,310,45,45);
                lblNum2.setBounds(185,310,45,45);
                lblNum3.setBounds(270,310,45,45);
                lblNum4.setBounds(355,310,45,45);
                lblNum5.setBounds(440,310,45,45);
                lblNum6.setBounds(525,310,45,45);
                
                contentPane.add(lblNum1);
                contentPane.add(lblNum2);
                contentPane.add(lblNum3);
                contentPane.add(lblNum4);
                contentPane.add(lblNum5);
                contentPane.add(lblNum6);
                
}

                JButton btnPrint = new JButton("로또번호 출력");
                btnPrint.setBounds(200,190,120,30);
                contentPane.add(btnPrint);
                btnPrint.addMouseListener(new MouseAdapter(){
                        @Override
                        public void mouseClicked(MouseEvent arg0) {
                                btnPrintMouseClicked();
                        }
                });
                
                JButton btnPrint2 = new JButton("초기화");
                btnPrint2.setBounds(340, 190, 120, 30);
                contentPane.add(btnPrint2);
                btnPrint2.addMouseListener(new MouseAdapter(){
                        @Override
                        public void mouseClicked(MouseEvent arg0){
                                btnPrintMouseClicked();
                        }
                });
                
                runCount();
        }
        
        public void btnPrintMouseClicked(){
                
                for(int i = 0; i< num.length; i++){
                        num[i] = random.nextInt(44) + 1 ;
                        for(int j = 0 ; j< i ; j++){
                                if (num[i] == 0 || num[i] == num[j]) {
                                        i--;
                                }
                                }
                        }
                        Arrays.sort(num);
                        lblNum1.setText(Integer.toString(num[0]));
                        lblNum2.setText(Integer.toString(num[0]));
                        lblNum3.setText(Integer.toString(num[0]));
                        lblNum4.setText(Integer.toString(num[0]));
                        lblNum5.setText(Integer.toString(num[0]));
                        lblNum6.setText(Integer.toString(num[0]));
                        
                        lblResult1.setText("당신이 선택한 번호" + lblNum1.getText()+","+lblNum2.getText()+","+lblNum3.getText()+","
                                        +lblNum4.getText()+","+lblNum5.getText()+","+lblNum6.getText());
        }
        public void btnPrint2MouseClicked(){
                lblNum1.setText("");
                lblNum2.setText("");
                lblNum3.setText("");
                lblNum4.setText("");
                lblNum5.setText("");
                lblNum6.setText("");
                lblResult1.setText("");
                lblResult2.setText("");
                
        }
        
        public void runCount() { 
                new Thread(){
                        public void run() {
                                while (flagLoop){
                                        try {
                                                Thread.sleep(100);
                                        } catch (InterruptedException e) {
                                                e.printStackTrace();
                                        }
                                        
                                        lblCount.setText(Integer.toString(random.nextInt(44)+1));
                                
                                }
                        }
                }.start();
        }
        
        public void paint(Graphics g) {
                g.drawImage(new ImageIcon(Lotto.class.getResource("/lotto/1.png"))
                .getImage(),61,308,130,110,this);
                g.drawImage(new ImageIcon(Lotto.class.getResource("/lotto/1.png"))
                .getImage(),145,308,130,110,this);
                g.drawImage(new ImageIcon(Lotto.class.getResource("/lotto/1.png"))
                .getImage(),230,308,130,110,this);
                g.drawImage(new ImageIcon(Lotto.class.getResource("/lotto/1.png"))
                .getImage(),315,308,130,110,this);
                g.drawImage(new ImageIcon(Lotto.class.getResource("/lotto/1.png"))
                .getImage(),400,308,130,110,this);
                g.drawImage(new ImageIcon(Lotto.class.getResource("/lotto/1.png"))
                .getImage(),485,308,130,110,this);
                g.drawImage(new ImageIcon(Lotto.class.getResource("/lotto/1.png"))
                .getImage(),213,308,130,110,this);
                
        }
}package lotto;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.util.*;

public class Lotto extends JFrame{
        
        private JPanel contentPane;
        private JLabel lblNum1 = new JLabel();
        private JLabel lblNum2 = new JLabel();
        private JLabel lblNum3 = new JLabel();
        private JLabel lblNum4 = new JLabel();
        private JLabel lblNum5 = new JLabel();
        private JLabel lblNum6 = new JLabel();
        private Random random = new Random();
        private int[] num = new int[7];
        JLabel lblCount = null;
        JLabel lblResult1 = null;
        JLabel lblResult2 = null;
        boolean flagLoop = true;
        public static void main(String[] args){
                EventQueue.invokeLater(new Runnable() {
                        public void run() {
                                try{
                                        Lotto frame = new Lotto();
                                        frame.setTitle("로또 자동번호 생성기");
                                        frame.setVisible(true);
                                }catch (Exception e) {
                                        e.printStackTrace();
                                }
                                
                        }
                });
        }
        public Lotto() {
                
                setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                setBounds(300,200,680,500);
                setBackground(Color.white);
                
                contentPane = new JPanel();
                contentPane.setOpaque(false);
                setContentPane(contentPane);
                contentPane.setLayout(null);
                
                lblCount = new JLabel("__");
                lblCount.setHorizontalAlignment(SwingConstants.CENTER);
                lblCount.setFont(new Font("Arial",Font.BOLD,60));
                lblCount.setBounds(290,60,83,83);
                
                contentPane.add(lblCount);
                lblResult1 = new JLabel("");
                lblResult1.setHorizontalAlignment(SwingConstants.CENTER);
                lblResult1.setFont(new Font("Arial",Font.BOLD,15)); //글자 모양
                lblResult1.setBounds(170,440,310,17);
                contentPane.add(lblResult1);
{
                        
                
                lblNum1 = new JLabel();
                lblNum2 = new JLabel();
                lblNum3 = new JLabel();
                lblNum4 = new JLabel();
                lblNum5 = new JLabel();
                lblNum6 = new JLabel();
                
                lblNum1.setHorizontalAlignment(SwingConstants.CENTER);
                lblNum2.setHorizontalAlignment(SwingConstants.CENTER);
                lblNum3.setHorizontalAlignment(SwingConstants.CENTER);
                lblNum4.setHorizontalAlignment(SwingConstants.CENTER);
                lblNum5.setHorizontalAlignment(SwingConstants.CENTER);
                lblNum6.setHorizontalAlignment(SwingConstants.CENTER);
                
                lblNum1.setFont(new Font("Arial", Font.BOLD,30));
                lblNum2.setFont(new Font("Arial", Font.BOLD,30));
                lblNum3.setFont(new Font("Arial", Font.BOLD,30));
                lblNum4.setFont(new Font("Arial", Font.BOLD,30));
                lblNum5.setFont(new Font("Arial", Font.BOLD,30));
                lblNum6.setFont(new Font("Arial", Font.BOLD,30));
                
                lblNum1.setBorder(null);
                lblNum2.setBorder(null);
                lblNum3.setBorder(null);
                lblNum4.setBorder(null);
                lblNum5.setBorder(null);
                lblNum6.setBorder(null);
                
                lblNum1.setBounds(100,310,45,45);
                lblNum2.setBounds(185,310,45,45);
                lblNum3.setBounds(270,310,45,45);
                lblNum4.setBounds(355,310,45,45);
                lblNum5.setBounds(440,310,45,45);
                lblNum6.setBounds(525,310,45,45);
                
                contentPane.add(lblNum1);
                contentPane.add(lblNum2);
                contentPane.add(lblNum3);
                contentPane.add(lblNum4);
                contentPane.add(lblNum5);
                contentPane.add(lblNum6);
                
}

                JButton btnPrint = new JButton("로또번호 출력");
                btnPrint.setBounds(200,190,120,30);
                contentPane.add(btnPrint);
                btnPrint.addMouseListener(new MouseAdapter(){
                        @Override
                        public void mouseClicked(MouseEvent arg0) {
                                btnPrintMouseClicked();
                        }
                });
                
                JButton btnPrint2 = new JButton("초기화");
                btnPrint2.setBounds(340, 190, 120, 30);
                contentPane.add(btnPrint2);
                btnPrint2.addMouseListener(new MouseAdapter(){
                        @Override
                        public void mouseClicked(MouseEvent arg0){
                                btnPrintMouseClicked();
                        }
                });
                
                runCount();
        }
        
        public void btnPrintMouseClicked(){
                
                for(int i = 0; i< num.length; i++){
                        num[i] = random.nextInt(44) + 1 ;
                        for(int j = 0 ; j< i ; j++){
                                if (num[i] == 0 || num[i] == num[j]) {
                                        i--;
                                }
                                }
                        }
                        Arrays.sort(num);
                        lblNum1.setText(Integer.toString(num[0]));
                        lblNum2.setText(Integer.toString(num[0]));
                        lblNum3.setText(Integer.toString(num[0]));