나는 자바로 코딩하지 않고 kawa (jvm scheme)로 코딩 할 수 있으므로 가능한 한 자바와 같은 솔루션 만 제공 할 수있다.
는 기본적으로 나는 프로퍼티 변경 SELECTED_FILE_CHANGED_PROPERTY을 듣고 다음 을하고 JFileChooser로의 일부입니다 FileChooserUI으로 수동으로 파일 이름 표시를 설정하는 내 JFileChooser를 재정의 PropertyChange 방법에 PropertyChangeListener를 추가했다.
이 모든 것은 미학을위한 것이며, 선택한 폴더는 어쨌든 변경되지 않습니다. 파일 이름 표시가 전체 경로가 아니라 단지 방금 선택한 폴더의 이름 일 것입니다.
테스트하지 않고 자바 코드를 작성하려는 시도입니다. 나는 시간이 더있을 때 이것을 다시 시험 할 것이다.
JFileChooser folder_chooser = new JFileChooser();
folder_chooser.setFileSelectionMode (JFileChooser.DIRECTORIES_ONLY);
PropertyChangeListener folder_name_changer = new PropertyChangeListener() {
public void propertyChange(PropertyChangeEvent e) {
String property_name = e.getPropertyName();
JFileChooser chooser = e.getSource();
if (property_name.equals(JFileChooserSELECTED_FILE_CHANGED_PROPERTY) {
File selected_file = chooser.getSelectedFile();
FileChooserUI chooser_ui = chooser.getUI();
// BasicFileChooserUI is the subclass that implements a setFileName method
if (selected_file != null && (chooser_ui instanceof BasicFileChooserUI)) {
chooser_ui.setFileName(selected_file.getFileName());
}
}
}
};
folder_chooser.addPropertyChangeListener(folder_name_changer);
미안하지만이 문제가 해결되지 않아서 아래 해결책을 찾았습니다. 문제는 폴더를 선택하고 저장을 누르면 프로그램이 폴더를 덮어 쓰거나 내보낼 대상으로 선택하기를 원합니다. 폴더를 열지 않습니다. –