2012-05-04 2 views
1

사용자와의 모든 상호 작용을 표시하는 하나의 JTextArea로 ATM 시뮬레이터를 구축 중입니다. 사용자가 핀을 입력하고 환영 메시지 아래 JtextArea 별표에 표시합니다. 별표를 내 코드에서 실제 숫자로 읽는 동안 별표를 표시하여 사용자를 확인할 수 있습니까? 또한 사용자가 한 단계에서 다음 단계로 진행할 때 JTextArea가 다른 텍스트로 동적으로 업데이트되기를 원합니다. 예를 들어 철회 등에 관한 텍스트를 핀에 입력하는 텍스트를 작성하는 경우와 같이 계속 진행하면 사용자가 관련 정보로 화면 갱신. JtextArea를 조작 할 수있는 방법에 대한 모든 자료 나 도움이 환영 받거나이를 달성하기위한 더 나은 접근 방법을 제시 할 수 있다면 도움이됩니다.동적으로 JTextArea 업데이트 및 특정 텍스트 읽기

+2

모든 상호 작용이 단일 'JTextArea'를 사용하여 수행된다는 아이디어에 당신은 어떻게 묶여 있습니까? –

+0

@ 그렉 나는 이것을 성취 할 수있는 더 좋은 방법에 대한 제안에 열려있다. –

답변

2

JTextArea를 사용자가 줄 단위로 상호 작용하고 PIN 번호를 표시하지 않는 것처럼 콘솔에서 사용하려는 경우 약간 힘들 수 있습니다. 한 가지 가능한 해결책은 JTextArea의 Document (처음으로 PlainDocument로 캐스트)에서 DocumentFilter를 사용하고 프로그램이 PIN 획득 모드에 있지 않는 한 에 입력 된 모든 텍스트를 전달하는 것입니다 (이 경우 부울 변수가 있음). 그 상황에서, 당신은 프로그램 자체에 입력 된 텍스트를 저장하지만 DocumentFilter를 통해서만 "*"를 표시 할 것입니다. 이것은 잔인 할 수도 있지만 작동 할 수 있습니다.

2

나는 JPasswordField 인스턴스가 필요할 수도 있다고 생각합니다.

풋 별표를 들어

,

passwordField.setEchoChar('*'); 

그리고 PIN 복구를 위해

이 aproach으로

char[] pin = passwordField.getPassword(); 

을, 당신이 사용자에게 표시 정보를 JLabel 같은 다른 구성 요소가 필요합니다, 환영 메시지 .

+0

JTextArea를 콘솔처럼 사용하지 않으면 멋지고 실행 가능한 솔루션입니다. 1 + –

+0

이것은 "사용자와의 모든 상호 작용 표시"측면을 다루지는 않지만 Hovercraft Full of Eels가 말하기를 JTextArea를 사용하면 "까다 롭습니다"라고 말합니다. –

+0

그것을하기위한 또 다른 aproach. –

관련 문제