본문 바로가기
Java

[JAVA] ID와 Password 입력을 통한 로그인 구현

by bkuk 2022. 9. 4.

메인화면

 

 

로그인 성공시

* 아이디 && 비밀번호가 틀릴 경우

 

로그인 실패시

* 아이디 && 비밀번호가 틀릴 경우

 


import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;

public class LoginProgram {
	public LoginProgram() {
		
		JFrame frame = new JFrame("Login Program");
		JPanel panel = new JPanel();
		JLabel idLabel = new JLabel("ID = ");
		JTextField idTxt = new JTextField(15);
		JLabel pwLabel = new JLabel("P/W = ");
		JPasswordField pwTxt = new JPasswordField(10);
		JButton logBtn = new JButton("로그인");
		
		frame.add(panel);
		
		panel.add(idLabel);
		panel.add(idTxt);
		
		panel.add(pwLabel);
		panel.add(pwTxt);
		
		panel.add(logBtn);
		
		logBtn.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				String id = "홍길동";
				String pw = "rkddkwl";
				
				if(id.equals(idTxt.getText())&&pw.equals(pwTxt.getText())) {
					JOptionPane.showMessageDialog(null, "You have logged in successfully");
				} else {
					JOptionPane.showMessageDialog(null, "You failed to log in");
				}
			}
		});
		
	
		frame.setVisible(true);
		frame.setSize(1000,600);
		frame.setLocationRelativeTo(null);
		frame.setResizable(false);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	
	
	
	}

	public static void main(String[] args) {
		new LoginProgram();
	}}

 

 

발생한 오류와 해결방법

 

 1) 발생한 오류

		logBtn.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				String id = "홍길동";
				String pw = "강아지l";
				
				if(id.equals(idTxt.getText())&&pw.equals(pwTxt.getText())) {
					JOptionPane.showMessageDialog(null, "You have logged in successfully");
				} else {
					JOptionPane.showMessageDialog(null, "You failed to log in");
				}
			}
		});

 

* String pw의 변수 값(비밀번호)를 "강아지1"로 선언후 로그인
 → 로그인 실패("You failed to log in") 

 

- JPasswordField는 자동적으로 자음과 모음으로 변환되어 입력됨. 

 ex) 강아지1를 JPasswordField에 입력할 경우 → "ㄱ+ㅏ+ㅇ+ㅇ+ㅏ+ㅈ+ㅣ+1" 로 입력

 


변수를 "강아지1"로 선언할 경우에는 자동적으로 자음과 모음으로 변환되지 않아서 로그인이 실패


 

 2) 해결방법

		logBtn.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				String id = "홍길동";
				String pw = "rkddkwll";
				
				if(id.equals(idTxt.getText())&&pw.equals(pwTxt.getText())) {
					JOptionPane.showMessageDialog(null, "You have logged in successfully");
				} else {
					JOptionPane.showMessageDialog(null, "You failed to log in");
				}
			}
		});

- 자음과 모음을 결합한 형태로 변수를 선언

댓글