2011-08-17 4 views
5

JFileChooser를 사용하여 마우스로 디렉토리를 두 ​​번 클릭하여 디렉토리를 선택할 수 있습니다. 마우스가없는 디렉토리를 선택하는 방법이 있습니까? 예를 들어, 디렉토리 수준 아래로 가기위한 키 바인딩이 있습니까? 아니면 어떻게 든 JFileChooser에 키 수신기를 추가해야합니까?마우스없이 JFileChooser 디렉토리를 확장하는 방법이 있습니까

+0

나는 이점이 어떻게 될지 확실하지 않다? Webstart 응용 프로그램을 실행하면 (http://download.oracle.com/javase/tutorial/uiswing/components/filechooser.html) 디렉토리/파일이있는 창으로 이동할 수 있습니다. "탭"을 누른 다음 "화살표"를 사용하여 디렉토리/파일을 탐색 한 다음 "Enter"키를 눌러 수준 아래로 이동하십시오. – mre

답변

1

스페이스 바를 시도 했습니까? 아니면 키를 입력 했습니까?

2

탭을 사용하여 선택기의 다른 부분 사이를 이동 한 다음 화살표 키를 사용하여 강조 표시된 디렉터리를 변경 한 다음 Enter 키를 눌러 강조 표시된 디렉터리로 변경할 수 있습니다.

import javax.swing.*; 
public class test { 
    public static void main(String[] args) { 
     (new JFileChooser("")).showOpenDialog(new JFrame()); 
     System.out.println("OK!"); 
    } 
} 

을 프로젝트가 당신의 JFileChooser로와 비슷하게 응답하지 않는 경우, 내가 같이 디버깅 것 : 내 컴퓨터 (비스타/JDK 1.6)에서 다음 예제 코드를 테스트 한 내가 기대하는대로 작동

다음과 같습니다 :

  1. 선택기를 팝업하는 데 필요한 코드 만 사용하여 test.java를 만듭니다.
  2. 테스트 앱이 앱 내와 다른 경우 코드에서 UI 스키닝 코드, 키보드 리스너 등과 같이 테스트 프로그램이 실패하는 원인이 될 수 있습니다.이 예제를 한 번에 하나씩 변경하여 더 자세하게 설정을 복제하십시오. 선택기를 사용하여 어디에서 깨지는지 확인할 수 있습니다.
  3. 기본 테스트 앱이 제대로 작동하지 않는 경우 JDK 버전의 버그, OS 등 설치에 관한 내용 일 가능성이 높습니다. 설정 문제를 해결하십시오.
+0

스페이스 바를 입력하고 키를 입력 해 보았지만 어느 것도 작동하지 않았습니다. 그러나 그것은 그것이 작동하지 않는 이유를 알아 내는데 집중할 수 있기 때문에 그것이 enter/space bar와 함께 작동해야한다는 것을 아는 데 도움이됩니다. – splatek

+0

어떤 Java 버전을 사용하고 있습니까? 최근인가요? 일부 이전 버전에는 jfilechooser UI에 버그가 있습니다 (예 : http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4922507 참조). 나는 나의 대답을 더 잘 설명하도록 편집 할 것이다. –

+0

com.incors.plaf.alloy.AlloyLookAndFeel;을 (를) 사용하고 있습니다. com.sun.java.swing.plaf.windows.WindowsLookAndFeel로 변경하면 작동합니다. 나는 AlloyLookAndFeel이 jFileChooser 문제를 가지고 있다고 생각한다. – splatek

0

디렉토리를 선택하려면 Ctrl + Enter 키를 사용해보십시오. 당신이 JFileChooser의 파일 선택 모드로 설정하면 이 문제가 발생되는 "파일과 direcories"

JFileChooser fileBrowser = new JFileChooser(); 
fileBrowser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES); 
관련 문제