jafea7-ctbrec-v5.3.2-based/client/src/main/java/ctbrec/ui/controls/DirectorySelectionBox.java

38 lines
1009 B
Java

package ctbrec.ui.controls;
import java.io.File;
import javafx.stage.DirectoryChooser;
public class DirectorySelectionBox extends AbstractFileSelectionBox {
public DirectorySelectionBox(String dir) {
super(dir);
}
@Override
protected void choose() {
DirectoryChooser chooser = new DirectoryChooser();
File currentDir = fileProperty().get();
if (currentDir.exists() && currentDir.isDirectory()) {
chooser.setInitialDirectory(currentDir);
}
File selectedDir = chooser.showDialog(null);
if(selectedDir != null) {
fileInput.setText(selectedDir.getAbsolutePath());
setFile(selectedDir);
}
}
@Override
protected String validate(File file) {
String msg = super.validate(file);
if(msg != null) {
return msg;
} else if (!file.isDirectory()) {
return "This is not a directory";
} else {
return null;
}
}
}