티스토리 뷰
앞 시간까지 공부했던 것들을 응용해서 이번 시간에는 간단한 Log In 프로그램을 만들어 보겠다.
앞 시간에 공부했던 , JFrame , JPanel , JButton , JLabel , ActionListener을 모두 사용할 것이다. 복습은 틈틈이!
먼저 Main에 JFrame을 상속해줄 것이다.
1번째 시간에 배웠던 기본 Frame 틀을 만들어주자.
public class Main extends JFrame {
setVisible(true);
setSize(600 , 400);
setResizable(false);
setLocationRealtiveTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
기본 Frame 화면 틀은 갖추어졌다. 로그인 화면에서는 ID 칸과 PS 칸이 필요하다 이외에도 Log in 버튼과 로그인이 성공했을 때 또는 실패했을 때 기능도 추가해주어야 한다. 말 그대로 간단한 로그인 프로그램을 만들 것이다. 서버로 넘기는 방법은 차후에 포스트 하겠다.
로그인할 ID와 PS를 표시해주려면 자연스럽게 JLabel을 이용해야 할 것이며
로그인 칸과 PS 칸은 JTextField를 사용할 것이다. 여기서 PS 칸은 보안이 중요하므로 JPasswordField를 사용할 것이다.
로그인 버튼은 JButton ,
이벤트 처리는 addActionListener로 처리해주겠다.
- JPanel panel = new JPanel();
- JLabel label =new JLabel("ID : ");
- JLabel pswrd = new JLabel("PassWord : ");
- JTextfield txtID = new JTextField(10); // 여기서 숫자 10은 칸수를 의미한다.
- JPasswordField txtpass = new JPasswordField(10);
- JButton logBtn = new JButton("Log in");
이후 아이디 비밀번호 로그인 버튼 순서대로 panel에 추가해주면 된다.
- panel.add(label);
- panel.add(txtID);
- panel.add(pswrd);
- panel.add(txtpass);
- panel.add(logBtn);
현재까지 작업한 GUI 화면 은 아래와 같다.
이제 여기에 로그인했을 때 이벤트를 addActionListener 클래스를 이용하여 만들어 보겠다.
아이디 : "Rewind" , 비밀번호 "1234"로 설정해보겠다.
logBtn.addActionListener( new ActionListener() {
public void actionPerformed(ActionEvent e) {
String id = "Rewind" ;
String pass = "1234";
if(id.equals( txtID.getText() ) && pass.equals( txtpass.getText() ) ) {
JOptionPane.showMessageDialog(null, " you have logged in successfully");
} else {
JOptionPane.showMessageDialog(null, " you failed to login");
}
}
} );
이제 올바른 아이디 비밀번호와 그렇지 않은 아이디와 비밀번호를 입력해보겠다.
ID : Rewind PassWord : 1234 입력 시 성공적으로 로그인했다.
하지만 문자 1개 라도 틀린다면
로그인에 실패하게 된다.
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
|
public class Main extends JFrame {
public Main() {
JPanel panel = new JPanel();
JLabel label = new JLabel("ID : ");
JLabel pswrd = new JLabel("PassWord : ");
JTextField txtID= new JTextField(10);
JPasswordField txtPass = new JPasswordField(10);
JButton logBtn = new JButton("Log in");
panel.add(label);
panel.add(txtID);
panel.add(pswrd);
panel.add(txtPass);
panel.add(logBtn);
logBtn.addActionListener( new ActionListener() {
public void actionPerformed(ActionEvent e) {
String id = "Rewind";
String pass = "1234";
if(id.equals(txtID.getText()) && pass.equals(txtPass.getText())) {
JOptionPane.showMessageDialog( null, "you have logged in successfully" );
} else {
JOptionPane.showMessageDialog( null , " you failed to log in ");
}
}
} );
add(panel);
setVisible(true);
setSize( 600 , 400);
setLocationRelativeTo(null);
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new Main();
}
}
|
Danny 씨에게 감사를 표합니다.
'Java Swing 기초 ' 카테고리의 다른 글
3강 JButton기능 추가하기 & JPanel 기초 응용 (0) | 2019.05.08 |
---|---|
2강 JLabel, JButton, JTextArea, BorderLayout 사용하기 (0) | 2019.05.08 |
1강 Frame 과 panel (0) | 2019.05.07 |
- Total
- Today
- Yesterday
- greedy
- JavaSwing
- php
- 라오킹전사
- 그리디
- #스페인어 #스페인어인강 #스페인어공부 #시원스쿨스페인어
- BFS
- KVK4
- A
- 정렬
- 백트래킹
- stri
- 사이클
- 플로이드
- 라이즈오브킹덤즈
- 사이크
- 이분매칭
- HTML
- dfs
- 이분 매칭
- 다익스트라
- 그래프
- 그리디알고리즘
- CSS
- 백트레킹
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |