2011-08-16 9 views
2

암호 상자와 함께 JOptionPane을 사용하여 암호를 묻는 전체 화면 (100 %, 심지어는 작업 표시 줄까지 포함) 응용 프로그램이 있습니다. 내 문제는 팝업이 나타나면 하단의 시스템 작업 표시 줄을 볼 수 있다는 것입니다. 그것은 종류의 다음과 같습니다전체 화면 응용 프로그램에서 JOptionPane을 스폰하면

----  popup 
------------ taskbar 
------------ fullscreen app 

내가 스택은 다음과 같이 있고 싶어 반면 :

----  popup 
------------ fullscreen app 
------------ taskbar 

는만큼 내 응용 프로그램이 실행되는 동안 나는 완전히 작업 표시 줄을 숨길하고 싶습니다. 이것은 내가 사용하고 암호 상자 클래스입니다 :

public class PasswordBox { 
    public String prompt() { 
     JPasswordField pass = new JPasswordField(10); 
     int action = JOptionPane.showConfirmDialog(null, pass,"Enter Password",JOptionPane.OK_CANCEL_OPTION); 
     return new String(pass.getPassword()); 
    } 
} 

나는 이런 식으로 호출 :

String tmpPASS = new PasswordBox().prompt(); 

사람이 내가 쉽게 제공 할 수있는 더 많은 코드를 필요로합니다. 나는이 문제와 어떻게 시작해야 할지를 잘 모릅니다. 나는 "포커스"에 대한 아이디어를 포기했다. 왜냐하면 팝업이 나타나면 포커스가 있기 때문이다. 내가 잘못 본게 아니라면

+1

이 Windows 작업 표시 줄입니까? – Jeremy

+0

사실 Windows에서 괜찮습니다. Linux는 저에게 몇 가지 문제점을 제시합니다. 현재 Gnome을 사용하는 RHEL에서 테스트 – n0pe

+0

['getPassword()'] (http://download.oracle.com/javase/6/docs/api/javax/swing/JPasswordField.html#getPassword%28)의 보안 관련 고려 사항을 고려하십시오. % 29). – trashgod

답변

2

, 당신은 JOptionPane에 첫 번째 매개 변수로 부모 JFrame을 통과해야한다 : 그냥 선명도

public class PasswordBox { 
    public String prompt(JFrame fatherFrame) { 
     JPasswordField pass = new JPasswordField(10); 
     int action = JOptionPane.showConfirmDialog(fatherFrame, pass,"Enter Password",JOptionPane.OK_CANCEL_OPTION); 
     return new String(pass.getPassword()); 
    } 
} 
관련 문제