2014-09-06 22 views
0

jlabel에서 "Hello World 1"을 인쇄하는 .exe 파일을 만듭니다. 아래에는 사용자가 숫자를 입력하는 jtextfield가 있으며 "1"은 기본값이므로 "Hello World 1"이 인쇄됩니다. 이제는 사용자가 "2"를 입력 한 다음 인쇄 할 "Hello World 2"뿐만 아니라 .exe 프로그램을 닫고 "Hello World 2"를 다시 열면 (int 사용자가 마지막으로 입력 한 것임). 내 말은, jtextfield의 문자열 값이 영구 저장된다는 뜻입니다. 어떻게해야합니까? 고마워요JTextField, 앱이 닫힌 경우에도 텍스트 저장

+0

가장 간단한 방법은 응용 프로그램 외부 어딘가에 사용자 데이터를 작성하고 응용 프로그램을 시작할 때이 데이터를 읽으려고 시도하는 것입니다. 정의한 파일, 일부 데이터베이스 또는 어쩌면 [등록 정보] (http://docs.oracle.com/javase/tutorial/essential/environment/properties.html)에 작성할 수 있습니다. – Pshemo

+0

'java.util.prefs'를 사용하십시오. 예 : http://stackoverflow.com/a/4017189/1774484 –

+0

그 생각은 .txt 파일에서 int를 읽고 쓰는 것입니다. 하지만 그 외에? : / –

답변

1

아마도 Properties 파일을 사용하십시오. 이를 통해 파일에 데이터를 저장하고 키워드로 데이터에 액세스 할 수 있습니다.

그래서 시작시 자신의 속성을 확인하십시오. 종료하면 텍스트 필드의 값을 사용합니다. 존재하지 않으면 필드의 기본값을 설정합니다.

그런 다음 프레임을 닫으면 값을 Properties 파일에 다시 저장해야합니다. 프레임의 닫기 기능을 가로채는 것에 대한 자세한 내용은 Closing An Application을 확인하십시오.

1

당신의 JFrame의의 close 이벤트를 듣고 WindowListener를 추가

 myFrame.addWindowListener(new WindowAdapter() { 
     public void windowClosed(WindowEvent evebt) { 
      // Save the value of your JTextField now 
      System.out.println("Bye!"); 
      } 
     }); 
관련 문제