2013-07-26 4 views
0

다음 코드는 로그인 및 암호를위한 팝업 창 (JOptionPane)입니다. Java 프로그램에서이 두 문자열 (예 : logpass)을 기억하도록 설정하면 사용자가 프로그램을 끄고 다음에 켜면 ... logpass이 이미 기본값으로 이미 존재합니까?Java에서 마지막 입력 문자열을 저장하는 방법은 무엇입니까?

import javax.swing.*; 


    public class TestJP { 

     public static String log; 
     public static String pass; 

     public static void main(String[] args) { 



        JTextField login = new JTextField(5); 
        JPasswordField password = new JPasswordField(5); 

        JPanel myPanel = new JPanel(); 
        myPanel.add(new JLabel("login:")); 
        myPanel.add(login); 
        myPanel.add(Box.createHorizontalStrut(15)); 
        myPanel.add(new JLabel("password:")); 
        myPanel.add(password); 

        int result = JOptionPane.showConfirmDialog(null, myPanel, 
          "Please Login", JOptionPane.OK_CANCEL_OPTION); 
        if (result == JOptionPane.OK_OPTION) { 
        log = login.getText(); 
        pass = password.getText(); 
        System.out.println("login: " + log); 
        System.out.println("password: " + pass); 
        } 

       } 

     } 

답변

2

선택할 수있는 번호가 있으며, 선택할 수있는 항목은 원하는 것을 선택하는 것입니다.

경고 단어. 내가 너라면 비밀 번호를 저장하지 않을거야, 그 중 아무도 해킹 증명하지.

당신은 할 수

다음 Properties API

  • 사용 및 저장하고 파일
  • 사용하면
  • 에 대한 데이터베이스 시스템의 일종을 persistenace의을 담당 Preferences API로/내용을로드합니다. H2 또는 hsql (예 :)을 단일 사용자 데이터베이스로 사용할 수 있습니다.
  • 내용을 플랫 파일에 간단하게 쓸 수 있습니다.

각각 장단점이 있습니다. 당신은 각각의 무게를 재고 당신의 즉각적인 필요에 가장 잘 맞는 것을 결정할 필요가 있습니다.

개인적으로 나는 Preferences API를 좋아하지만 데이터가 저장된 위치를 제어 할 수 없다는 것을 의미합니다.

+0

연재? – nachokk

+0

@nachokk 그 대신 약간의 이득을 얻으려는 노력이 많이 있는데, 특히'Properties # save'을 대신 사용하여'ObjectStream'과 캐스팅 등으로 그 모든 것을 망쳐 놓을 수 있다고 생각할 때 그렇습니다. : P - IMHO. 그것이 "평면 파일"*에 속할 수도 있습니다. 또한 DB를 사용하지 않을 수도 있습니다. 조금이라도 이익을 위해 머리를 숙인다면 (질문의 맥락에서) – MadProgrammer

관련 문제