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 옆에도 같이 바꿨더니 되었어요
당연한 거였지만 아직 저한테는 한번에 보이는게 아니다보니 다른곳에서 헤매었네요

정말 감사드립니다 !!!
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
120696 [질문] LCHF 관련 질문드립니다. (지방섭취량?) [8] Qtum2578 18/05/31 2578
120695 [질문] 허리/무릎이 아픕니다... [10] Aquaris2802 18/05/31 2802
120694 [질문] 하와이 호놀룰루에서 축구하기 [1] BISANG2761 18/05/31 2761
120693 [질문] [여행] 남자 혼자 여행가기 좋은 곳 추천 부탁드려요! [5] 파란토마토5140 18/05/31 5140
120692 [질문] 수학 사고력에 대해 궁금합니다 [5] 파핀폐인2498 18/05/31 2498
120691 [질문] 자바 스윙 패스워드필드를 넣고 싶은데 어떻게 하면될까요?? [8] Unknown Verses2683 18/05/31 2683
120690 [질문] kt 무제한 요금제 데이터쉐어링 관련 궁금합니다. [1] 귀여운호랑이2456 18/05/31 2456
120689 [질문] 양양 서핑 질문입니다. [2] 한량기질2249 18/05/31 2249
120688 [질문] 택배비 환불관련 질문입니다. [5] Ha.록2159 18/05/31 2159
120687 [질문] 차량용품을 사야할거 같은데 추천좀 부탁드립니다. +질문 [12] 지수2928 18/05/31 2928
120686 [질문] 타이어 렌탈에 대해 질문드립니다 [1] 후왕2759 18/05/31 2759
120685 [삭제예정] 유부남 선배님들 조언부탁드립니다.(내용추가) [31] 원스6852 18/05/31 6852
120684 [질문] 시계 가죽줄에서 메탈줄 교환해보신분 있으신가요? [2] vigorian 2127 18/05/31 2127
120683 [질문] 알뜰폰에서 알뜰폰 변경이 가능한가요? [4] 동네꼬마2180 18/05/31 2180
120682 [질문] [LOL] 같이 마이타릭 조합이나 누누카서스조합 하실분 계신가요? [2] papaGom3359 18/05/31 3359
120681 [질문] 남성용 쿠션 좋고 가성비 좋은 운동화 추천 부탁드립니다. [14] 크르르6295 18/05/31 6295
120680 [질문] 용산 아이맥스 처음갑니다. 자리어떤가요? [2] 언니네 이발관2766 18/05/31 2766
120679 [질문] GS25 알뜰폰 요금제 질문입니다. [2] 후라이도2524 18/05/31 2524
120678 [질문] 아시안게임 e스포츠 종목은 어디서 중계를 할가요? [15] 파쿠만사5154 18/05/31 5154
120677 [질문] 컴퓨터 견적 확인한번 부탁드립니다. [14] Bluelight3459 18/05/31 3459
120676 [질문] 자유형을 좀 더 오래 하고 싶습니다. [14] 인달3299 18/05/31 3299
120675 [질문] 중소형 가상화폐거래소를 매수하고싶습니다 [2] 라니안3110 18/05/31 3110
120674 [질문] 요즘 우디르 좋나요? [6] 교자만두3471 18/05/31 3471
목록 이전 다음
댓글

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