PGR21.com
- PGR21 관련된 질문 및 건의는 [건의 게시판]을 이용바랍니다.
- (2013년 3월 이전) 오래된 질문글은 [이전 질문 게시판]에 있습니다.
통합 규정을 준수해 주십시오. (2015.12.25.)
Date 2018/05/31 13:50:10
Name Unknown Verses
Subject [질문] 자바 스윙 패스워드필드를 넣고 싶은데 어떻게 하면될까요??
제가 지금 정말 초보라 ... 우선 근본없는 질문에 미리 사과드립니다

달리 방법이 없어 코드를 적어 볼게요

package com.proj.track;

import java.awt.BorderLayout;
import java.awt.CardLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.Graphics;
import java.awt.GridLayout;
import java.awt.Image;

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

public class LogIn extends JFrame{
        Container container;
        JPanel login_jPanel, img_jPanel, id_jPanel, pw_jPanel, btt_jPanel,
        bind_jPanel, sign_up_panel, idInput_panel, pwInput_panel, moneyInput_panel, btt_jPanel1;
        JLabel id_jLabel, pw_jLabel, img_jLabel, idInput_jLabel, pwInput_jLabel, moneyInput_jLabel;
        JTextField id_field, pw_field, idInput_field, pwInput_field, moneyInput_field;
        JButton button, sign_up_btt, submit_btt, back_btt;
        ImageIcon imageIcon;
        UserDAO userDAO;
        CardLayout cardLayout;
        
        public LogIn() {
                cardLayout = new CardLayout();
                
                container = getContentPane();
                
                img_jPanel = new JPanel();
                id_jPanel = new JPanel();
                pw_jPanel = new JPanel();
                btt_jPanel = new JPanel();
                bind_jPanel = new JPanel();
                login_jPanel = new JPanel();
                sign_up_panel = new JPanel();
                idInput_panel = new JPanel();
                pwInput_panel = new JPanel();
                moneyInput_panel = new JPanel();
                btt_jPanel1 = new JPanel();
                
                id_jLabel = new JLabel("ID : ");
                pw_jLabel = new JLabel("PW : ");
                idInput_jLabel = new JLabel("ID ");
                pwInput_jLabel = new JLabel("PW ");
                moneyInput_jLabel = new JLabel("MONEY ");
                
                id_field = new JTextField(10);
                pw_field = new JTextField(10);
                idInput_field = new JTextField(10);
                pwInput_field = new JTextField(10);
                moneyInput_field = new JTextField(10);
                
                button = new JButton("로그인");
                sign_up_btt = new JButton("회원가입");
                submit_btt = new JButton("확인");
                back_btt = new JButton("뒤로가기");
                
                userDAO = new UserDAO();
                
                setSize(300, 500);
                setLocation(300, 300);
                init();
                start();
                setVisible(true);
                
        }
       private void init() {
                           id_jPanel.setLayout(new FlowLayout());
                           id_jPanel.add(id_jLabel);
                           id_jPanel.add(id_field);
                           
                           pw_jPanel.setLayout(new FlowLayout());
                           pw_jPanel.add(pw_jLabel);
                           pw_jPanel.add(pw_field);
                   
                           btt_jPanel.setLayout(new FlowLayout(FlowLayout.RIGHT));
                           btt_jPanel.add(sign_up_btt);
                           btt_jPanel.add(button);
                           
                           bind_jPanel.setLayout(new GridLayout(3, 1));
                           bind_jPanel.add(id_jPanel);
                           bind_jPanel.add(pw_jPanel);
                           bind_jPanel.add(btt_jPanel);
                           
                           login_jPanel.setLayout(new GridLayout(2, 1));
                           login_jPanel.add(img_jPanel);
                           login_jPanel.add(bind_jPanel);
                           
                           idInput_panel.setLayout(new FlowLayout());
                           idInput_panel.add(idInput_jLabel);
                           idInput_panel.add(idInput_field);
                           
                           pwInput_panel.setLayout(new FlowLayout());
                           pwInput_panel.add(pwInput_jLabel);
                           pwInput_panel.add(pwInput_field);
                           
                           moneyInput_panel.setLayout(new FlowLayout());
                           moneyInput_panel.add(moneyInput_jLabel);
                           moneyInput_panel.add(moneyInput_field);
                           
                           btt_jPanel1.setLayout(new FlowLayout());
                           btt_jPanel1.add(submit_btt);
                           btt_jPanel1.add(back_btt);
                           
                           sign_up_panel.setLayout(new GridLayout(4, 1));
                           sign_up_panel.add(idInput_panel);
                           sign_up_panel.add(pwInput_panel);
                           sign_up_panel.add(moneyInput_panel);
                           sign_up_panel.add(btt_jPanel1);
                           
                           container.setLayout(cardLayout);
                           container.add(login_jPanel, "login");
                           container.add(sign_up_panel, "signUp");
       }
      
       private void start() {
               setDefaultCloseOperation(EXIT_ON_CLOSE);
               button.addActionListener(e-> {
                       if(userDAO.select(id_field.getText(), pw_field.getText())) {
                               User user = userDAO.extract(id_field.getText());
                               Screen screen = new Screen(user);
                               this.dispose();
                       } else {
                               id_field.setText("");
                               pw_field.setText("");
                               JOptionPane.showMessageDialog(this, "id/pw 맞지 않습니다.", "오류", JOptionPane.ERROR_MESSAGE);
                       }
               });
              
               sign_up_btt.addActionListener(e-> {
                       id_field.setText("");
                           pw_field.setText("");
                       cardLayout.show(container, "signUp");
               });
              
               back_btt.addActionListener(e-> {
                       idInput_field.setText("");
                       pwInput_field.setText("");
                       moneyInput_field.setText("");
                       cardLayout.show(container, "login");
               });
              
               submit_btt.addActionListener(e-> {
                       userDAO.insert(new User(idInput_field.getText(), pwInput_field.getText(),
                                       Integer.parseInt(moneyInput_field.getText())));
               });
       }
}

이렇게 표현할 경우 패스워드가 그대로 노출되는데요  
검색해보니 패스워드필드라는 것이 있더라구요

이 코드에 집어넣으려면 어떻게 해야 할까요..??
제가 지금 실력이 없어서 코드가 눈에 잘 안들어오네요

부탁드려요 !!

통합규정 1.3 이용안내 인용

"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
살려는드림
18/05/31 14:01
수정 아이콘
github 이나 gitlab, bitbucket 같은 저장소에 올려두고 링크를 공유하는 편이 더 나을듯 싶네요..
Unknown Verses
18/05/31 14:05
수정 아이콘
아 그런게 있었군요 감사합니다 !!
18/05/31 14:21
수정 아이콘
짧은 글이나 코드 공유 용으로 이 사이트 좋습니다.
https://pastebin.com/dNtDAsvs
18/05/31 14:05
수정 아이콘
부족한 지식으로 보기에
pwInput_field = new JTextField(10);
이 부분을 아래와 같이 바꾸면 해결되지 않을까 싶네요
pwInput_field = new JPasswordField(10);
Unknown Verses
18/05/31 14:10
수정 아이콘
(수정됨) 다른 것도 더 필요한 듯 합니다.. 여전히 숫자가 노출되네요
답변 감사드립니다 !!!
Unknown Verses
18/05/31 14:18
수정 아이콘
아 한줄 더 바꿔보니 되네요 진심으로 감사드립니다 !!!
18/05/31 14:23
수정 아이콘
해결하셨다니 다행입니다. 혹시 한줄 더 바꾼 곳은 어디였는지 알려주실 수 있으세요?
Unknown Verses
18/05/31 14:33
수정 아이콘
아 그게 별거는 아니구요 아마 saiKi님이 말씀하신게 결국 맞는거예요

2줄 위에 위에 있었던 pw_field 옆에도 같이 바꿨더니 되었어요
당연한 거였지만 아직 저한테는 한번에 보이는게 아니다보니 다른곳에서 헤매었네요

정말 감사드립니다 !!!
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
120705 [질문] 20년 가까이 된 아파트에서 부실시공이 발견되면 보상을 받을 수 있을까요? [4] 톨기스3389 18/05/31 3389
120704 [질문] 최저임금 산입 관련 질문 [2] 삭제됨2605 18/05/31 2605
120703 [질문] 프라하 여행 질문 [10] Magicien2809 18/05/31 2809
120702 [질문] 노트북 분해 질문입니다. [3] 삭제됨2523 18/05/31 2523
120701 [질문] 사무실에서 쓸 무선 키보드/마우스 추천 부탁드립니다. [15] 탄산맨6681 18/05/31 6681
120700 [질문] 디아블로 스토리는 완결된건가요? [10] 감성이 용규어깨3401 18/05/31 3401
120699 [질문] 정수기 렌탈 하려고 하는데요~ [3] 파란샤프4148 18/05/31 4148
120698 [질문] 사이드 미러 접촉 사고 질문입니다. [5] 하카세4853 18/05/31 4853
120697 [질문] 경구용 약과 정맥주사용 약품은 다른건가요? [7] 블루레인코트2157 18/05/31 2157
120696 [질문] LCHF 관련 질문드립니다. (지방섭취량?) [8] Qtum2578 18/05/31 2578
120695 [질문] 허리/무릎이 아픕니다... [10] Aquaris2800 18/05/31 2800
120694 [질문] 하와이 호놀룰루에서 축구하기 [1] BISANG2760 18/05/31 2760
120693 [질문] [여행] 남자 혼자 여행가기 좋은 곳 추천 부탁드려요! [5] 파란토마토5138 18/05/31 5138
120692 [질문] 수학 사고력에 대해 궁금합니다 [5] 파핀폐인2496 18/05/31 2496
120691 [질문] 자바 스윙 패스워드필드를 넣고 싶은데 어떻게 하면될까요?? [8] Unknown Verses2682 18/05/31 2682
120690 [질문] kt 무제한 요금제 데이터쉐어링 관련 궁금합니다. [1] 귀여운호랑이2454 18/05/31 2454
120689 [질문] 양양 서핑 질문입니다. [2] 한량기질2247 18/05/31 2247
120688 [질문] 택배비 환불관련 질문입니다. [5] Ha.록2155 18/05/31 2155
120687 [질문] 차량용품을 사야할거 같은데 추천좀 부탁드립니다. +질문 [12] 지수2926 18/05/31 2926
120686 [질문] 타이어 렌탈에 대해 질문드립니다 [1] 후왕2757 18/05/31 2757
120685 [삭제예정] 유부남 선배님들 조언부탁드립니다.(내용추가) [31] 원스6847 18/05/31 6847
120684 [질문] 시계 가죽줄에서 메탈줄 교환해보신분 있으신가요? [2] vigorian 2126 18/05/31 2126
120683 [질문] 알뜰폰에서 알뜰폰 변경이 가능한가요? [4] 동네꼬마2178 18/05/31 2178
목록 이전 다음
댓글

+ : 최근 1시간내에 달린 댓글
+ : 최근 2시간내에 달린 댓글
맨 위로