영보의 SystemOut.log

[JAVA]자바 swing/awt 회원가입/로그인 예제 본문

Language/JAVA

[JAVA]자바 swing/awt 회원가입/로그인 예제

영보로그 2020. 7. 14. 18:49
반응형

 

코드를 3개로 나누어서 CardLayout으로 코드를 호출해서 코드를 짜봤습니다

 

 

 

JoinForm.java

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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
package com.sist.client;
 
import java.awt.*;
import javax.swing.*;
 
public class JoinForm extends JPanel{
    private Image back;
   JLabel title=new JLabel("회원가입", JLabel.CENTER);
   JLabel la1, la2, la3, la4, la5, la6, la7, la8, la9, la10, la11;
   JTextField tf1, tf2, tf3, tf4, tf5, tf6;
   JLabel dash=new JLabel("-");
   JButton b2=new JButton("우편번호 검색");
   JPasswordField pf1, pf2;
   JRadioButton rb1, rb2;
   JTextArea ta;
   JCheckBox box1, box2, box3, box4, box5;
   JButton b1;
   JComboBox telBox=new JComboBox();
   JTextField tf7, tf8;
   JLabel dash2=new JLabel("-");
   JButton b3=new JButton("회원가입");
   JButton b4=new JButton("취소");
 
   //초기화
   public JoinForm(){
       back=Toolkit.getDefaultToolkit().getImage("c:\\javaDev\\back.jpg");
      la1=new JLabel("ID", JLabel.RIGHT);
      la2=new JLabel("비밀번호", JLabel.RIGHT);
      la3=new JLabel("재입력", JLabel.RIGHT);
      la4=new JLabel("이름", JLabel.RIGHT);
      la5=new JLabel("성별", JLabel.RIGHT);
      la6=new JLabel("우편번호", JLabel.RIGHT);
      la7=new JLabel("주소", JLabel.RIGHT);
      la8=new JLabel("상세주소", JLabel.RIGHT);
      la9=new JLabel("전화번호", JLabel.RIGHT);
      la10=new JLabel("소개", JLabel.RIGHT);
      la11=new JLabel("레시피", JLabel.RIGHT);
 
      tf1=new JTextField();
      tf2=new JTextField();
      tf3=new JTextField();
      tf4=new JTextField();
      tf5=new JTextField();
      tf6=new JTextField();
      tf7=new JTextField();
      tf8=new JTextField();
 
      pf1=new JPasswordField();
      pf2=new JPasswordField();
 
      rb1=new JRadioButton("남자");
      rb2=new JRadioButton("여자");
      ButtonGroup gb=new ButtonGroup();//하나만 선택되어야 하기 때문에 그룹 잡음
      gb.add(rb1);
      gb.add(rb2);
 
      b1=new JButton("중복체크");
 
      title.setFont(new Font("함초롬돋움", Font.BOLD, 40));//HTML:<h1><b>회원가입</b></h1>
 
      //배치
      setLayout(null);
      title.setBounds(1015100055);
      //추가
      add(title);
 
      la1.setBounds(3001008030);
      tf1.setBounds(38510020030);
      b1.setBounds(59010015030);
      add(la1);
      add(tf1);
      add(b1);
 
      la2.setBounds(3001358030);
      pf1.setBounds(38513520030);
      add(la2);
      add(pf1);
 
      la3.setBounds(3001708030);
      pf2.setBounds(38517020030);
      add(la3);
      add(pf2);
 
      la4.setBounds(3002058030);
      tf2.setBounds(38520520030);
      add(la4);
      add(tf2);
 
      la5.setBounds(3002408030);
      rb1.setBounds(3852409530);
      rb2.setBounds(4852409530);
      add(la5);
      add(rb1);
      add(rb2);
 
      la6.setBounds(3002758030);
      tf3.setBounds(38527510030);
      dash.setBounds(5002752030);
      tf4.setBounds(52527510030);
      b2.setBounds(63027515030);
      add(la6);add(tf3);add(dash);add(tf4);add(b2);
      
      la7.setBounds(3003108030);
      tf5.setBounds(38531040030);
      add(la7);add(tf5);
      
      la8.setBounds(3003458030);
      tf6.setBounds(38534540030);
      add(la8);add(tf6);
      
      telBox.addItem("010");
      telBox.addItem("011");
      telBox.addItem("017");
      
      la9.setBounds(3003808030);
      telBox.setBounds(38538010030);
      tf7.setBounds(49038010030);
      dash2.setBounds(5953802030);
      tf8.setBounds(62038010030);
      add(la9);add(telBox);add(tf7);add(dash2);add(tf8);
 
      
      ta=new JTextArea();
      JScrollPane js=new JScrollPane(ta);
      
      la10.setBounds(3004158030);
      js.setBounds(385415400200);
      add(la10); add(js);
      
      box1=new JCheckBox("샐러드");
      box2=new JCheckBox("디저트");
      box3=new JCheckBox("김치찌개");
      box4=new JCheckBox("피자");
      box5=new JCheckBox("초밥");
      
      JPanel p=new JPanel();
      p.add(box1); p.add(box2); p.add(box3); p.add(box4); p.add(box5);
      la11.setBounds(3006208030);
      p.setBounds(38562040035);
      add(la11); add(p);
      
      JPanel p2=new JPanel();
      p2.add(b3); p2.add(b4);       
      p2.setBounds(30066548535);
      add(p2);
      
      p.setOpaque(false);
      p2.setOpaque(false);
      rb1.setOpaque(false);
      rb2.setOpaque(false);
      box1.setOpaque(false);
      box2.setOpaque(false);
      box3.setOpaque(false);
      box4.setOpaque(false);
      box5.setOpaque(false);
   }
 
   @Override
   protected void paintComponent(Graphics g){
     g.drawImage(back, 00, getWidth(), getHeight(), this);
   }
 
   public static void main(String[] args){;
   }
}
cs

 

 

Login.java

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
package com.sist.client;
import javax.swing.*;
import java.awt.*
public class Login extends JPanel {
    //스킨
    private Image back;
    JLabel la1, la2;
    JTextField tf;
    JPasswordField pf;
    JButton b1, b2;
    public Login()
    {
        //이미지 정보 읽기
        back=Toolkit.getDefaultToolkit().getImage("c:\\javaDev\\back.jpg");
        
        setLayout(null); //직접배치
        la1=new JLabel("아이디",JLabel.RIGHT);
        la1.setBounds(7457758030);
        tf=new JTextField();
        tf.setBounds(83077515030);
        
        add(la1);add(tf);
        
        la2=new JLabel("비밀번호",JLabel.RIGHT);
        la2.setBounds(7458108030);
        pf=new JPasswordField();
        pf.setBounds(83081015030);
        
        add(la2); add(pf);
        
        b1=new JButton("로그인");
        b2=new JButton("회원가입");
        JPanel p=new JPanel();
        p.add(b1);
        p.add(b2);
        p.setOpaque(false);
        p.setBounds(74585023535);
        add(p);
    }
    public void paintComponent(Graphics g)
    {
        g.drawImage(back,0,0,getWidth(),getHeight(),this);
    }
}
cs

 

 

 

RecipeMainFrame.java

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
46
47
48
package com.sist.client;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*
 
public class RecipeMainFrame extends JFrame implements ActionListener{
    //배치
    CardLayout card=new CardLayout();
    Login login=new Login();
    JoinForm join=new JoinForm();
    public RecipeMainFrame()
    {
        //GUI 화면 디자인, 변수 초기화, 데이터베이스 연결, 서버연결, 쓰레드 동작
        //Layout => 화면배치
        setLayout(card);
        
        //화면추가
        add("JOIN",join);
        add("LOGIN",login);
        
        setSize(1300960);
        setVisible(true);
        setDefaultCloseOperation(EXIT_ON_CLOSE); 
        
        login.b2.addActionListener(this);
        join.b3.addActionListener(this);
    }
 
    public static void main(String[] args) throws Exception{
        UIManager.setLookAndFeel("com.jtattoo.plaf.mcwin.McWinLookAndFeel"); 
        new RecipeMainFrame();    
    }
 
    @Override
    public void actionPerformed(ActionEvent e) {
        // TODO Auto-generated method stub
        if(e.getSource()==login.b2)
        {
            card.show(getContentPane(), "JOIN");
        }
        else if(e.getSource()==join.b3)
        {
            card.show(getContentPane(), "LOGIN");
        }
    }
 
}
 
cs

 

 

 

 

 

실행 창

제가 하울의 움직이는 성을 좋아해서 배경을 하울로 했습니다 ㅎㅎ;;

 

 

 

 

 

 

(주의) 

그림파일 이름명과 경로를 잘 설정 해 주셔야합니다!

 

 

반응형