위와 같은 간단한 프로그램을 만들어 봤습니다.
swing기초를 배우신 분들은 영상과 같이 실행되는 프로그램을 짜본다면 도움이 많이 될 것입니다.
소스코드는 아래를 참조해주세요.
package question03;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class LSample extends JFrame {
//추첨번호
JLabel l1; JLabel l2; JLabel l3; JLabel l4;
JLabel l5; JLabel l6; JLabel l7;
JLabel lb;//몇회차
//도전번호
JLabel num1; JLabel num2; JLabel num3; JLabel num4;
JLabel num5; JLabel num6; JLabel num7;
JLabel temp;//등수상태
//현재상태정보
JLabel stat; JLabel stat1; JLabel stat2; JLabel stat3;
JLabel stat4; JLabel stat5; JLabel stat6; JLabel stat7; JLabel stat8;
int lotto[];
int mynum[];
int result[];
int count;
int inning;
int challenge;
String word;
LSample(){
result=new int[8];
setSize(500,450);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
setLayout(null);
//seungmin
lb = new JLabel("제"+Integer.toString(inning)+"회");
lb.setSize(150,30);
lb.setForeground(Color.red);
lb.setLocation(10,10);//
add(lb);
JLabel lb2=new JLabel("로또 추첨");
lb2.setSize(150,30);
lb2.setLocation(150,10);
add(lb2);
JLabel l=new JLabel("추첨번호");
l.setSize(150,30);
l.setLocation(10,40);
add(l);
//추첨번호
l1=new JLabel("0");
l1.setSize(30,30);
l1.setLocation(100,40);
add(l1);
l2=new JLabel("0");
l2.setSize(30,30);
l2.setLocation(130,40);
add(l2);
l3=new JLabel("0");
l3.setSize(30,30);
l3.setLocation(160,40);
add(l3);
l4=new JLabel("0");
l4.setSize(30,30);
l4.setLocation(190,40);
add(l4);
l5=new JLabel("0");
l5.setLocation(220,40);
l5.setSize(30,30);
add(l5);
l6=new JLabel("0");
l6.setLocation(250,40);
l6.setSize(30,30);
add(l6);
l7=new JLabel("0");
l7.setLocation(270,40);
l7.setSize(30,30);
add(l7);
//추첨버튼
JButton b1=new JButton("번호 세팅");
b1.addMouseListener(new Listen_Lotto());
b1.setSize(100,30);
b1.setBackground(Color.blue);
b1.setForeground(Color.white);
b1.setLocation(350,40);
add(b1);
//도전버튼
JButton b2=new JButton("도전 실행");
b2.addMouseListener(new Listen_mynum());
b2.setSize(100,30);
b2.setBackground(Color.blue);
b2.setForeground(Color.white);
b2.setLocation(10,90);
add(b2);
//도전번호
num1=new JLabel("0");
num1.setLocation(130,90);
num1.setSize(30,30);
add(num1);
num2=new JLabel("0");
num2.setLocation(150,90);
num2.setSize(30,30);
add(num2);
num3=new JLabel("0");
num3.setLocation(170,90);
num3.setSize(30,30);
add(num3);
num4=new JLabel("0");
num4.setLocation(190,90);
num4.setSize(30,30);
add(num4);
num5=new JLabel("0");
num5.setLocation(210,90);
num5.setSize(30,30);
add(num5);
num6=new JLabel("0");
num6.setLocation(230,90);
num6.setSize(30,30);
add(num6);
num7=new JLabel("0");
num7.setLocation(250,90);
num7.setSize(30,30);
add(num7);
//도전결과
JLabel lb3=new JLabel("도전 결과:");
lb3.setSize(150,30);
lb3.setLocation(280,90);
add(lb3);
//seungmin
temp=new JLabel(word);
temp.setSize(100,30);
temp.setLocation(350,90);
add(temp);
//현재상태부분
JLabel lb4=new JLabel("★현재의 도전 상황★");
lb4.setSize(200,30);
lb4.setLocation(70,130);
add(lb4);
JLabel lb5=new JLabel("-총 도전횟수");
lb5.setSize(200,30);
lb5.setLocation(70,150);
add(lb5);
stat=new JLabel(Integer.toString(challenge)+"회");
stat.setSize(70,30);
stat.setLocation(150,150);
add(stat);
JLabel lb6=new JLabel("-꽝:");
lb6.setSize(200,30);
lb6.setLocation(70,170);
add(lb6);
stat1=new JLabel(Integer.toString(result[0])+"회");
stat1.setSize(70,30);
stat1.setLocation(150,170);
add(stat1);
JLabel lb7=new JLabel("-7등:");
lb7.setSize(200,30);
lb7.setLocation(70,190);
add(lb7);
stat2=new JLabel(Integer.toString(result[1])+"회");
stat2.setSize(70,30);
stat2.setLocation(150,190);
add(stat2);
//seungmin3
JLabel lb8=new JLabel("-6등:");
lb8.setSize(200,30);
lb8.setLocation(70,210);
add(lb8);
stat3=new JLabel(Integer.toString(result[2])+"회");
stat3.setSize(70,30);
stat3.setLocation(150,210);
add(stat3);
JLabel lb9=new JLabel("-5등:");
lb9.setSize(200,30);
lb9.setLocation(70,230);
add(lb9);
stat4=new JLabel(Integer.toString(result[3])+"회");
stat4.setSize(70,30);
stat4.setLocation(150,230);
add(stat4);
JLabel lb10=new JLabel("-4등:");
lb10.setSize(200,30);
lb10.setLocation(70,250);
add(lb10);
stat5=new JLabel(Integer.toString(result[4])+"회");
stat5.setSize(70,30);
stat5.setLocation(150,250);
add(stat5);
JLabel lb11=new JLabel("-3등:");
lb11.setSize(200,30);
lb11.setLocation(70,270);
add(lb11);
stat6=new JLabel(Integer.toString(result[5])+"회");
stat6.setSize(70,30);
stat6.setLocation(150,270);
add(stat6);
JLabel lb12=new JLabel("-2등:");
lb12.setSize(200,30);
lb12.setLocation(70,290);
add(lb12);
stat7=new JLabel(Integer.toString(result[6])+"회");
stat7.setSize(70,30);
stat7.setLocation(150,290);
add(stat7);
JLabel lb13=new JLabel("-1등:");
lb13.setSize(200,30);
lb13.setLocation(70,310);
add(lb13);
stat8=new JLabel(Integer.toString(result[7])+"회");
stat8.setSize(70,30);
stat8.setLocation(150,310);
add(stat8);
JButton exit=new JButton("도전 그만하기");
exit.setSize(150,30);
exit.setBackground(Color.green);
exit.setForeground(Color.white);
exit.setLocation(300,310);
exit.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
System.exit(0);
}
});
add(exit);
}
class Listen_Lotto implements MouseListener{
@Override
public void mouseClicked(MouseEvent e) {
// TODO Auto-generated method stub
inning++;
challenge=0;
word=null;
result=new int[8];
lotto=new int[7];
//현재상태 초기화
temp.setText(word);
stat.setText(Integer.toString(challenge)+"회");
stat1.setText(Integer.toString(result[0])+"회");
stat2.setText(Integer.toString(result[1])+"회");
stat3.setText(Integer.toString(result[2])+"회");
stat4.setText(Integer.toString(result[3])+"회");
stat5.setText(Integer.toString(result[4])+"회");
stat6.setText(Integer.toString(result[5])+"회");
stat7.setText(Integer.toString(result[6])+"회");
stat8.setText(Integer.toString(result[7])+"회");
for(int i=0;i<7;i++)
{
lotto[i]=(int)(Math.random()*45)+1;
for(int j=0;j<i;j++)
{
if(lotto[i]==lotto[j])
{
i--;
break;
}
}
}
lb.setText("제"+Integer.toString(inning)+"회");
l1.setText(Integer.toString(lotto[0]));
l2.setText(Integer.toString(lotto[1]));
l3.setText(Integer.toString(lotto[2]));
l4.setText(Integer.toString(lotto[3]));
l5.setText(Integer.toString(lotto[4]));
l6.setText(Integer.toString(lotto[5]));
l7.setText(Integer.toString(lotto[6]));
}
@Override
public void mousePressed(MouseEvent e){ }
@Override
public void mouseReleased(MouseEvent e) {}
@Override
public void mouseEntered(MouseEvent e) {}
@Override
public void mouseExited(MouseEvent e) {}
}
class Listen_mynum implements MouseListener{
@Override
public void mouseClicked(MouseEvent e) {
challenge++;
mynum=new int[7];
for(int i=0;i<7;i++)
{
mynum[i]=(int)(Math.random()*45)+1;
for(int j=0;j<i;j++)
{
if(mynum[i]==mynum[j])
{
i--;
break;
}
}
}
//도전번호 세팅
count=0;
num1.setText(Integer.toString(mynum[0]));
num2.setText(Integer.toString(mynum[1]));
num3.setText(Integer.toString(mynum[2]));
num4.setText(Integer.toString(mynum[3]));
num5.setText(Integer.toString(mynum[4]));
num6.setText(Integer.toString(mynum[5]));
num7.setText(Integer.toString(mynum[6]));
//상태 세팅
stat.setText(Integer.toString(challenge)+"회");
for(int i=0;i<7;i++)
{
for(int j=0;j<7;j++)
{
if(lotto[i]==mynum[j])
count++;
}
}
switch(count){
case 0:
result[0]++;
word="꽝";
break;
case 1:
result[1]++;
word="7등";
break;
case 2:
result[2]++;
word="6등";
break;
case 3:
result[3]++;
word="5등";
break;
case 4:
result[4]++;
word="4등";
break;
case 5:
result[5]++;
word="3등";
break;
case 6:
result[6]++;
word="2등";
break;
case 7:
result[7]++;
word="1등";
break;
}
//상태세팅
temp.setText(word);
stat.setText(Integer.toString(challenge)+"회");
stat1.setText(Integer.toString(result[0])+"회");
stat2.setText(Integer.toString(result[1])+"회");
stat3.setText(Integer.toString(result[2])+"회");
stat4.setText(Integer.toString(result[3])+"회");
stat5.setText(Integer.toString(result[4])+"회");
stat6.setText(Integer.toString(result[5])+"회");
stat7.setText(Integer.toString(result[6])+"회");
stat8.setText(Integer.toString(result[7])+"회");
}
@Override
public void mouseEntered(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseExited(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mousePressed(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseReleased(MouseEvent e) {
// TODO Auto-generated method stub
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
LSample a=new LSample();
}
}