이야기박스
JAVA - 로또 번호 뽑기 본문
반응형
로또 번호를 뽑는 프로그램입니다.
돈 많이 벌고 싶네요 ![]()
버튼을 누를 때마다 로또 번호들이 생성되게 하겠습니다.
클래스는
액자 - Main
주 작업 화면 - Lottery
로또 번호들이 담기는 - EachNum
으로 구성하였습니다!
1. Main class
import java.awt.*;
import javax.swing.*;
public class Main{
public static void main(String[] args) {
JFrame frame = new JFrame("Lottery");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Lottery primary = new Lottery();
frame.getContentPane().add(primary);
frame.pack();
frame.setVisible(true);
}
}
2. Lottery class
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class Lottery extends JPanel {
private JPanel top, mid, bot;
private EachNum lotData;
private JButton btnStart, btnReset;
private LotteryListener listener;
public Lottery() {
this.setPreferredSize(new Dimension(400,300));
this.setLayout(null);
listener = new LotteryListener();
top = new JPanel();
top.setBackground(Color.black);
top.setBounds(0, 0, 400, 50);
this.add(top);
JLabel lblTitle = new JLabel("To Be Rich Person");
lblTitle.setFont(new Font("Monofur",Font.BOLD,20));
lblTitle.setForeground(Color.white);
top.add(lblTitle);
lotData = new EachNum();
lotData.setBackground(Color.white);
lotData.setBounds(0, 50, 400, 200);
this.add(lotData);
bot = new JPanel();
bot.setBackground(Color.black);
bot.setBounds(0, 250, 400, 50);
this.add(bot);
btnStart = new JButton("generate");
btnStart.addActionListener(listener);
btnStart.setBackground(Color.white);
btnStart.setFocusPainted(false);
bot.add(btnStart);
} // Lottery()
private class LotteryListener implements ActionListener {
public void actionPerformed(ActionEvent event) {
for(int i=0; i<7; i++) {
lotData.makeNum();
}
} // actionPerformed()
} // LotteryListener class
} // Lottery class
3. EachNum class
import java.awt.*;
import javax.swing.*;
public class EachNum extends JPanel {
private int lotNum[];
JLabel title[], lotLabel[];
public EachNum() {
this.setLayout(new GridLayout(2,7));
title = new JLabel[7];
for(int i=0; i<7; i++) {
if(i == 6) {
title[i] = new JLabel("Bonus");
this.add(title[i]);
} else {
title[i] = new JLabel((i+1)+"th");
this.add(title[i]);
} // if.. else
title[i].setHorizontalAlignment(SwingConstants.CENTER);
title[i].setFont(new Font("Monofur",Font.PLAIN,14));
} // for i
lotLabel = new JLabel[7];
for(int i=0; i<7; i++) {
lotLabel[i] = new JLabel();
lotLabel[i].setVisible(false);
lotLabel[i].setHorizontalAlignment(SwingConstants.CENTER);
lotLabel[i].setVerticalAlignment(SwingConstants.CENTER);
lotLabel[i].setFont(new Font("Monofur",Font.BOLD,14));
lotLabel[i].setForeground(Color.darkGray);
this.add(lotLabel[i]);
} // for i
} // EachNum()
public void makeNum() {
}
} // EachNum class
이 makeNum 매서드가 자꾸 오류가 나네요 ㅜㅜ
자바스크립트에 대한 지식이 없어서 해결이 안되서
수동으로 올려둡니다.
public void makeNum() {
lotNum = new int[7];
for(int i=0; i<7; i++) {
lotNum[i] = (int) (Math.random()*45) +1;
for(int j=0; j<i; j++) {
if(lotNum[i] == lotNum[j]) {
lotNum[i] = (int) (Math.random()*45) +1;
j = 0;
} // if
} // for j
lotLabel[i].setText(""+lotNum[i]);
lotLabel[i].setVisible(true);
} // for i
}
프로그램 실행 사진입니다!
- 실행 전
- 실행 후
자바 첫 글이라 간단한 프로그램으로 시작할게요!
당분간은 예전에 만들었던 프로그램 위주로 올리겠습니다!
반응형
'Programming Language > JAVA' 카테고리의 다른 글
| Effective java 3/E - study 시작 (0) | 2018.11.16 |
|---|---|
| Java) join 메서드 (0) | 2017.11.24 |
| Java) 후위수식 계산기 (0) | 2017.05.26 |
| Java) 하노이 탑, 중간 체크 (0) | 2017.03.25 |
| Java) Hanoi top 계획 (0) | 2017.03.25 |