[개발 일지] 반려동물 용품 쇼핑몰 GUI 구현 프로젝트 2일차 (03/12)

2023. 3. 13. 00:34·My Project/Pet Shopping Mall GUI Project
728x90
728x90

2일차

  - 비밀번호 찾기 기능 구현

 

 


MemberDAO - 비밀번호 찾기 기능

더보기
// 비밀번호 찾기 기능
@Override
public String memberPwFind(String id, String phoneNumber) {
    String resultPw = null;

    String sql = " SELECT * FROM member WHERE id = ? AND phone_number = ? "; 

    try {
        pstmt = conn.prepareStatement(sql);
        pstmt.setString(1, id);
        pstmt.setString(2, phoneNumber);
        rs = pstmt.executeQuery();

        // 행이 존재한다면 while문으로 들어감
        while (rs.next()) {
            resultPw = rs.getString("password");
        }

    } catch (SQLException e) {
        e.printStackTrace();
    } finally {
        try {
            rs.close();
            pstmt.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
    // 비밀번호를 찾았다면 비밀번호를 반환함
    return resultPw;
}

 

pwFindFrame

더보기
public class pwFindFrame extends JFrame implements ActionListener, MouseListener {

    private JLabel idLabel; // 아이디
    private JTextField idTextField; // 아이디 입력창
    private JLabel phoneLabel; // 전화번호
    private JTextField phoneTextField; // 전화번호 입력창
    private JButton pwFindButton; // 비밀번호 찾기 버튼
    private Boolean phoneHintOff;

    public pwFindFrame() {
        initData();
        setInitLayout();
        addEventListener();
    }

    private void initData() {
        setTitle("비밀번호 찾기");
        setSize(400, 200);

        phoneHintOff = false;

        idLabel = new JLabel("    아이디");
        idTextField = new JTextField("", 10);

        phoneLabel = new JLabel("전화번호");
        phoneTextField = new JTextField("010-####-####", 10);

        pwFindButton = new JButton("비밀번호 찾기");
    }

    private void setInitLayout() {
        setLayout(null);
        setResizable(false);
        setLocationRelativeTo(null); // JFrame 가운데 배치
        Color backgroundColor = new Color(200, 235, 226);
        getContentPane().setBackground(backgroundColor);

        idLabel.setLocation(30, 50);
        idLabel.setSize(200, 10);
        add(idLabel);

        idTextField.setLocation(85, 46);
        idTextField.setSize(93, 20);
        add(idTextField);

        phoneLabel.setLocation(30, 100);
        phoneLabel.setSize(200, 10);
        add(phoneLabel);

        phoneTextField.setLocation(85, 96);
        phoneTextField.setSize(93, 20);
        add(phoneTextField);

        pwFindButton.setSize(115, 40);
        pwFindButton.setLocation(235, 60);
        add(pwFindButton);	

        setVisible(true);
    }

    private void addEventListener() {
        phoneTextField.addMouseListener(this);
        pwFindButton.addActionListener(this);
    }

    @Override
    public void actionPerformed(ActionEvent e) {
        JButton targetButton = (JButton) e.getSource();
        String resultPw = null;

        // 비밀번호 찾기 버튼
        if (targetButton == pwFindButton) {
            // 방어적 코드 (입력되지 않은 값이 있다면 실행 X)
            if (idTextField.getText().isEmpty()) {
                System.out.println("값이 입력되지 않았습니다.");
                return;
            }
            if (phoneTextField.getText().isEmpty()) {
                System.out.println("값이 입력되지 않았습니다.");
                return;
            }

            String id = idTextField.getText();
            String phoneNumber = phoneTextField.getText();

            MemberDAO memberDAO = new MemberDAO();
            resultPw = memberDAO.memberPwFind(id, phoneNumber);

            // 입력된 정보가 정확하다면
            if (resultPw != null) {
                JOptionPane.showMessageDialog(null, id + "님의 비밀번호는 " + resultPw + "입니다.", "비밀번호 찾기 성공", JOptionPane.PLAIN_MESSAGE);	
                this.dispose(); // 확인 누르면 프레임 꺼짐
            } else {
                JOptionPane.showMessageDialog(null, "정보를 잘못 입력하셨습니다.", "비밀번호 찾기 실패", JOptionPane.PLAIN_MESSAGE);					
            }
        }
    }


    // 형식 힌트 제거
    @Override
    public void mousePressed(MouseEvent e) {
        JTextField targetTextField = (JTextField) e.getSource();

        if (targetTextField == phoneTextField) {
            // 처음 눌렀을 때만 힌트가 없어지도록
            if (phoneHintOff == false) {
                targetTextField.setText("010-");
                phoneHintOff = true;
            }
        }
    }
}

 

 


실행

 

320x100
반응형
저작자표시 비영리 변경금지 (새창열림)

'My Project > Pet Shopping Mall GUI Project' 카테고리의 다른 글

[개발 일지] 반려동물 용품 쇼핑몰 GUI 구현 프로젝트 6일차 (03/16)  (0) 2023.03.17
[개발 일지] 반려동물 용품 쇼핑몰 GUI 구현 프로젝트 5일차 (03/15)  (0) 2023.03.16
[개발 일지] 반려동물 용품 쇼핑몰 GUI 구현 프로젝트 4일차 (03/14)  (0) 2023.03.14
[개발 일지] 반려동물 용품 쇼핑몰 GUI 구현 프로젝트 3일차 (03/13)  (0) 2023.03.13
[개발 일지] 반려동물 용품 쇼핑몰 GUI 구현 프로젝트 1일차 (03/10)  (0) 2023.03.12
'My Project/Pet Shopping Mall GUI Project' 카테고리의 다른 글
  • [개발 일지] 반려동물 용품 쇼핑몰 GUI 구현 프로젝트 5일차 (03/15)
  • [개발 일지] 반려동물 용품 쇼핑몰 GUI 구현 프로젝트 4일차 (03/14)
  • [개발 일지] 반려동물 용품 쇼핑몰 GUI 구현 프로젝트 3일차 (03/13)
  • [개발 일지] 반려동물 용품 쇼핑몰 GUI 구현 프로젝트 1일차 (03/10)
스응
스응
    반응형
    250x250
  • 스응
    이서영의 개발 블로그
    스응
  • 전체
    오늘
    어제
  • 글쓰기 관리
    • 분류 전체보기 (383)
      • Java (134)
        • Base (54)
        • Spring Boot (37)
        • JSP (16)
        • Swing (GUI) (20)
        • Design Pattern (7)
      • C# (13)
      • PHP (18)
      • SQL (27)
      • Vue.js (10)
      • Tailwind CSS (4)
      • TypeScript (7)
      • HTML & CSS (27)
      • JavaScript (26)
      • jQuery (10)
      • Android (3)
      • - - - - - - - - - - - - - - (0)
      • Hotkeys (5)
      • CS (30)
      • etc. (13)
      • Error Note (14)
      • Team Project (24)
        • Airlines Web Project (12)
        • University Web Project (6)
        • Strikers 1945 GUI Project (6)
      • My Project (18)
        • Library Web Project (8)
        • Pet Shopping Mall GUI Project (10)
  • 블로그 메뉴

    • Home
    • Write
  • 링크

    • 깃허브
  • 공지사항

  • 인기 글

  • 태그

    jQuery
    cs
    티스토리챌린지
    java
    jsp
    Wordpress
    vuejs
    HTML
    Hotkeys
    SEO
    typeScript
    오블완
    js
    CSS
    개발일지
    SpringBoot
    zapier
    tailwindcss
    면접
    C#
    Android
    git
    Swing
    php
    Codeigniter
    errorNote
    SQL
    http
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.0
스응
[개발 일지] 반려동물 용품 쇼핑몰 GUI 구현 프로젝트 2일차 (03/12)
상단으로

티스토리툴바